bLue的旅行

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

一天,刚打完 CF 的 bLue 决定来一场说走就走的旅行,于是他拿出了地图开始制定行程。

在地图上,bLue 和目的地之间可以用一条直线来表示,他自己在坐标为 0 的位置,而目的地在坐标为 n 的位置。

bLue 计划花费 d 天到达目的地,旅途中,他每天只能选择前进 1, 2, 3 或 4 个单位距离,而不能向回走。他想知道有多少种方案能使他恰好花费 d 天到达目的地。

例如:目的地的坐标为 4,计划天数为 3,则 bLue 有 "1, 2, 4", "1, 3, 4", "2, 3, 4" 三种方案。

Input

输入数据有多组(数据组数不超过 10000),到 EOF 结束。

每组数据输入一行,包含 2 个整数 n, d (0 <= n <= 20, 0 <= d < 10^6),分别代表目的地的位置和 bLue 花费的天数。

Output

对于每组数据,输出一行,代表方案数。

Sample Input

2 1
2 2
4 2
4 3
5 3

Sample Output

1
1
3
3
6

Hint

Source

【第六届ACM趣味编程循环赛 Round #2】bLue