tbl = (1..1.0/0).lazy.map{|i| i * (i + 1) / 2 }.take_while{|n| n <= 10**7}.force N = gets.to_i if tbl.index(N) p 1 elsif tbl.any?{|n| tbl.index(N - n) } p 2 else p 3 end