编程题
方形硬币
## 来源
Asia 1999, Kyoto (Japan) (ZOJ1666)
## 题目描述
方形硬币,不仅形状是方形的,而且硬币的面值也是平方数。硬币的面值为12, 22, 32, ..., 172,即1, 4, 9, ..., 289。问要支付一定额的货币,有多少种支付方法。
例如,若要支付总额为10的货币,则有四种方法:(1) 10个面值为1的货币;(2) 1个面值为4的货币和6个面值为1的货币;(3) 2个面值为4的货币和2个面值为1的货币;(4) 1个面值为9的货币和1个面值为1的货币。
## 输入描述
输入文件包含若干行,每行为一个整数,表示需要支付货币的定额,最后一行为0,表示输入结束。货币的金额均为正整数并且不超过300。
## 输出描述
对每个货币金额,输出一个整数,表示支付该金额的方法种数。
## 样例输入
```txt
10
30
0
```
## 样例输出
```txt
4
27
```