//#include <stdio.h>
//#include <stdlib.h>
//
//int main()
//{
// printf("Hello world!\n");
// return 0;
//}
/*
#include <stdio.h>
int main()
{
int n,i,arr[100][100],j;
scanf("%d",&n);
for(i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)
{
printf("0");
}
for()
printf("\n");
}
}*/
//재귀함수 함수 내에서 자기 자신을 호출하는 함수
//recursive function
/*
#include <stdio.h>
void rec(int n)
{
if(n==0) return;
rec(n-1);
printf("%d\n",n);
}
int main()
{
rec(3);
return 0;
}*/
//1901-1915
//#include <stdio.h>
//int n;
//void rec(int n)
//{
//
// if(n==0) return;
// printf("%d\n",n);
// rec(n-1);
//
//}
//int main()
//{
// scanf("%d",&n);
// rec(n);
// return 0;
//}
//#include <stdio.h>
//int a,b;
//void rec(int n)
//{
// if(n<a) return;
// rec(n-1);
// if(n%2!=0) printf("%d",n);
//}
//int main()
//{
// scanf("%d%d",&a,&b);
// rec(b);
// return 0;
//}
//rec(n) => 1~n까지의 합 =>(1+2+3+...+n-1)+n
//=> rec(n-1)+n
//#include <stdio.h>
//int rec(int n)
//{
// if(n==1) return 1;
//
// return n+rec(n-1);
//
//}
//int main()
//{
// scanf("%d",&n);
// printf("%d",rec(n));
// return 0;
//}
//#include <stdio.h>
//int n;
//int rec(int n)
//{
// if(n==1) return 1;
// return n*rec(n-1);
//}
//int main()
//{
// scanf("%d",&n);
// printf("%d",rec(n));
// return 0;
//
//}
//#include <stdio.h>
//int n=3,arr[21];
//int rec(int n)
//{
// if(n<=2) return 1;
// else return rec(n-1)+rec(n-2);
//}
//int main()
//{
// scanf("%d",&n);
// printf("%d",rec(n));
//}
//#include <stdio.h>
//int n;
//void rec(int n)
//{
// printf("%d\n",n);
//
// if(n==1) return;
//
// if(n%2==0) n=n/2;
// else n=n*3+1;
// rec(n);
//}
//int main()
//{
// scanf("%d",&n);
// rec(n);
// return 0;
//}
/*
int memo[201]={};
int rec(int n)
{
if(memo[n]!=0) return memo[n];
if(n<=2) {
return memo[n]=1;
}
return memo[n] = (rec(n-1) + rec(n-2))%10009;
}
*/
//#include <stdio.h>
//int memo[201]={};
//int rec(int n)
//{
//
// if(memo[n]!=0) return memo[n];
// if(n<=2) return memo[n]=1;
// return memo[n]=(rec(n-1)+rec(n-2))%10009;
//}
//int main()
//{
// int n;
// scanf("%d",&n);
// printf("%d", rec(n));
//}
/*
#include <stdio.h>
int r,c,i,j,n;
int memo[51][51]={};
int rec(int r,int c)
{
if(r==1||c==1) return 1;
if(memo[r][c]!=0) return memo[r][c];
return memo[r][c]=(rec(r-1,c)+rec(r,c-1))%100000000;
}
int main()
{
scanf("%d%d",&r,&c);
printf("%d",rec(r,c));
return 0;
}
*/
#include <stdio.h>
int memo[15][15]={};
int rec(int k,int n)
{
if(memo[k][n]!=0) return memo[k][n];
if(k==1) return 1;
}
int main()
{
while(scanf("%d%d",&k,&n)!=EOF)
printf("%d\n",SuperSum(k,n));
}