#include <bits/stdc++.h>
using namespace std;
string str="ATCG",a,c;
map<string,int> m;
int n,k,r;
int main()
{
cin >> n >> k >> r;
for (int i=1;i<=n;i++)
{
a+=str[r%4];
r=(r*6807+2831)%201701;
}
for(int i=1;i<=k;i++)
c+=a[i-1];
m[c]=1;
for (int i=k+1;i<=n;i++)
{
c+=a[i-1];
c.erase(0,1);
if (!m[c])
m[c]=1;
}
cout << m.size() << endl;
return 0;
}
/**************************************************************
Problem: 1552
User: admin
Language: C++
Result: Accepted
Time:54 ms
Memory:2080 kb
****************************************************************/