//在数据类型内运算可以求得正确结果,代码有冗余,由三角矩阵的两列可以得出全部组合数列,暂时先用这种笨拙的方法
#include <iostream>
using namespace std;int main(int argc, char* argv)
{
long long M,N,K;
long long i,j;
cin >> M;
cin >> N;
cin >> K;
if( M-N < N)
N = M-N;
int temp=1;
while(K--)
temp*=10;
int** m = new int*[M+1];
for(i = 1 ; i <= M; i++)
{
m[i] = new int[N+1];
m[i][0] = 1;
}
for (i = 1; i <= N; i++)
m[i][i] = 1;
for(i = 2; i <= M; i ++)
for(j = 1; j < (i <= N ? i:N+1) ;j++)
{
m[i][j] = (m[i-1][j-1] + m[i-1][j])%temp;
}
cout << m[M][N];
cin >> i;
}