#92 (awful, needs some math)