This is very hard. I'll have to think about it for a while.