Problem 23. It works. It isn't fast. It isn't good. But I don't feel like actually making it better right now. Maybe another time.