#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int x,y,z;
int a(int z){
if(z<x+2){
return 1;
}
return a(z-1)+a(z-x-2)*y;//a(n-1)*n
}
int main(){
int c;
cin>>x>>y>>z;
c=a(z);
cout<<a(z);
return 0;
}
//#include <iostream>
//using namespace std;
//int jc(int n){
// if(n<=2){
// return n;
// }else{
// return n*jc(n-1);
// }
//}
//int main(int argc, char** argv) {
// int n;
// cin>>n;
// cout<<jc(n);
//
//
// return 0;
//}
//#include <iostream>
//using namespace std;
//int main(){
// int n;
// cin>>n;
// int d[10000];
// d[1]=1;
// d[2]=1;
// for(int i=3;i<=n;i++){
// d[i]=d[i-1]+d[i-2];
// }
// cout<<d[n];
// return 0;
//}
//#include<iostream>
//#include<cstdio>
//#include<cstring>
//using namespace std;
//long long a[60],b[60];
//// 1个月产2个卵8个月后成虫个数
//// 月份 成虫 卵 卵成虫月份
//// 1 1 0
//// 2 1 2 -4
//// 3 1 2 -5
//// 4 3 2 -6
//// 5 5 6 -7
//// 6 7 10 -8
//// 7 13 14 -9
//// 8 23 26
//// 9 37 46
//int main(){
// int x,y,z;
// int i;
// cin>>x>>y>>z;//x月产y对卵 z个月后成虫
// for(i=1;i<=x;i++){
// a[i]=1;//第i个月成虫
// b[i]=0;//第i个月卵
// }
// for(i=x+1;i<=z+1;i++){
// b[i]=a[i-x]*y;//第i-x月的成虫在x个月后产下y个卵
// a[i]=a[i-1]+b[i-2];//第i个月的成虫等于第i-1个月的成虫加上i-2个月的卵
// }
// cout<<a[z+1]<<endl;
//// cout<<b[z+1];
// return 0;
//}