Excursion
Tours led by Ivan Petrovich are always very organized. Ivan Petrovich especially like the building in a square, as if a student fall behind the group, its absence in the square is more noticeable than when using the building in the form of rows and columns by one. Therefore, students are divided into several groups, which can be built in a square. To different groups were easily distinguishable visually, requires that different groups had different numbers of schoolchildren. Of the 100 pupils can make one group of10×10, or two groups of 6×6 and 8×8, but better in terms of Ivan Petrovich to make 5 groups of 1×1, 3×3, 4×4, 5×5 and 7×7.
Write a program that finds a partition of N students into groups in the form of squares, among which no two are identical in number. The number of groups in the partition must be as much as possible.
Input
In the first line of input contains one integer N (1 ≤ N ≤ 10^5) – the number of students going to the tour.
Output
If the partition is found, then withdraw in the first line the number of groups in the partition, and the second line - in order of size of square groups. If there are multiple partitions with a maximum number of groups that bring minimum in lexicographical order. If the partition does not exist in the first line of output 0.