#include #include int Table[1000]; main() { memset(Table, 0, sizeof(Table)); Table[0] = 1; for (int i = 1; i <= 17; ++i){ for (int j = i * i; j < 400; ++j){ Table[j] += Table[j - i * i]; } } int in; while (cin >> in && in != 0){ cout << Table[in] << endl; } }