added problem96's solution