2485: 请客

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:9 Solved:4

Description

      小T和小K都是班干部,经常要为班集体做一些事情。有一天,班主任派他们一起出去执行任务,他们完成任务后回到学校已经接近傍晚,就直接赶去食堂吃晚饭了,还没到食堂门口两人又发生了争执,原因是小T和小K都争着要请对方吃饭,争到最后他俩决定以猜拳来解决争端,因为小T没带“分歧终端机”,猜拳结果当然又是小T输了,所以他要请小K吃饭~。 

食堂里有100种不同的菜,每种菜有一个1100之间的整数标号,每种菜的标号都不相同,每种菜的单价定为它的标号的平方(即标号*标号),如标号为1的菜单价为1元,标号为2的菜单价为4元,标号为3的菜单价为9元,标号为4的菜单价为16元,……

现在小T和小K要在这些菜中点N个菜,每一种菜最多只会点一个。由于小T只有S元钱,为了避免请小K吃饭后没钱坐公交车回家之类的尴尬,必须保证所点菜的总价严格小于S

现在请你编一个程序统计有多少种不同的点菜组合,如果你能解决这个难题,小T将会额外奖励你一件奖品 



Input

输入文件仅有一行包含两个用空格隔开的整数N和S,其中1≤N≤30,1≤S≤10,000。 



Output

输出文件仅有一行包含一个整数,即不同的点菜组合的总数。

Sample Input Copy

3 30

Sample Output Copy

4

HINT

样例解释
小T只有30元钱,他们想点3个菜,总价严格小于30元的点菜组合有以下4种:
1 2 3    总价为1+4+9=14元
1 2 4    总价为1+4+16=21元
1 3 4    总价为1+9+16=26元
2 3 4    总价为4+9+16=29元
1 2 5的点菜组合是不可以的,因为1+4+25=30元,不满足严格小于30元的条件。
 
数据规模
30%的数据满足:1≤N≤5,1≤S≤500
100%的数据满足:1≤N≤30,1≤S≤10,000

Source/Category