#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
const int mod=1e9+7;
int dp[101][101][52], gcd[102][102];
int main()
{
for(int i=1; i <=100;i++)
{
for(int j = 1; j <= 100; j++)
{
gcd[i][j]=__gcd(i, j);
}
}
int n, k, x;
cin >> n >> x >> k;
for(int j=1; j<=100; j++)
{
if(j==x) dp[1][j][1]=1;
else dp[1][j][0]=1;
}
for(int i = 2; i <= n; i++)
{
for(int j = 1; j <= 100; j++)
{
for(int l=0; l <=k; l++)
{
ll sum=0;
if(j==x)
{
if(l!=0)
{
for(int m = 1; m <= 100; m++)
{
if(gcd[m][j]==1)
{
sum+=dp[i-1][m][l-1];
sum%=mod;
}
}
}
}
else
{
for(int m = 1; m <= 100; m++)
{
if(gcd[m][j]==1)
{
sum+=dp[i-1][m][l];
sum%=mod;
}
}
}
dp[i][j][l]=sum;
}
}
}
ll sum=0;
for(int i = 1; i <= 100; i++)
{
sum+=dp[n][i][k];
sum%=mod;
}
cout << sum;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2RlZmluZSBsbCBsb25nIGxvbmcKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgbW9kPTFlOSs3OwppbnQgZHBbMTAxXVsxMDFdWzUyXSwgZ2NkWzEwMl1bMTAyXTsKCmludCBtYWluKCkKewoJZm9yKGludCBpPTE7IGkgPD0xMDA7aSsrKQoJewoJCWZvcihpbnQgaiA9IDE7IGogPD0gMTAwOyBqKyspCgkJewoJCQlnY2RbaV1bal09X19nY2QoaSwgaik7CgkJfQoJfQoJaW50IG4sIGssIHg7CgljaW4gPj4gbiA+PiB4ID4+IGs7Cglmb3IoaW50IGo9MTsgajw9MTAwOyBqKyspCgl7CgkJaWYoaj09eCkgZHBbMV1bal1bMV09MTsKCQllbHNlIGRwWzFdW2pdWzBdPTE7Cgl9Cglmb3IoaW50IGkgPSAyOyBpIDw9IG47IGkrKykKCXsKCQlmb3IoaW50IGogPSAxOyBqIDw9IDEwMDsgaisrKQoJCXsKCQkJZm9yKGludCBsPTA7IGwgPD1rOyBsKyspCgkJCXsKCQkJCWxsIHN1bT0wOwoJCQkJaWYoaj09eCkKCQkJCXsKCQkJCQlpZihsIT0wKQoJCQkJCXsKCQkJCQkJZm9yKGludCBtID0gMTsgbSA8PSAxMDA7IG0rKykKCQkJCQkJewoJCQkJCQkJaWYoZ2NkW21dW2pdPT0xKQoJCQkJCQkJewoJCQkJCQkJCXN1bSs9ZHBbaS0xXVttXVtsLTFdOwoJCQkJCQkJCXN1bSU9bW9kOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCWZvcihpbnQgbSA9IDE7IG0gPD0gMTAwOyBtKyspCgkJCQkJewoJCQkJCQlpZihnY2RbbV1bal09PTEpCgkJCQkJCXsKCQkJCQkJCXN1bSs9ZHBbaS0xXVttXVtsXTsKCQkJCQkJCXN1bSU9bW9kOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJZHBbaV1bal1bbF09c3VtOwoJCQl9CgkJfQoJfQoJbGwgc3VtPTA7Cglmb3IoaW50IGkgPSAxOyBpIDw9IDEwMDsgaSsrKQoJewoJCXN1bSs9ZHBbbl1baV1ba107CgkJc3VtJT1tb2Q7Cgl9Cgljb3V0IDw8IHN1bTsKfQ==