#include <iostream>
#include<vector>
#include <algorithm>
#include <string>
typedef long long ll;
using namespace std;
int m, x, a, b, n, k;
ll szamol(ll sz) {
ll szam = sz * a + b;
std::string s = std::to_string(szam);
while (s.length() != 4 * m) {
s = "0" + s;
}
string ujstr = "";
for (int i = m;i < 3 * m;i++) {
ujstr += s[i];
}
szam = stoi(ujstr);
return szam;
}
bool vanbenne(vector<ll> szk,ll sz) {
bool valt = false;
for (int i = 0;i < szk.size();i++) {
if (szk[i] == sz) {
valt= true;
}
}
return valt;
}
int main()
{
cin >> m >> x >> a >> b >> n >> k;
//int cv = szamol(8460);
vector<ll> szamok;
int s;
ll szam = x;
for (int i = 1;i < n + 1;i++) {
szam = szamol(szam);
//szamok.push_back(szam);
//if (i == 130) {
// cout << szam << endl;
//}
if (!vanbenne(szamok, szam)) {
szamok.push_back(szam);
}
else {
break;
}
}
vector<ll>masolat(szamok);
while (masolat[0] != szam) {
masolat.erase(masolat.begin());
}
/*for (int i = 0;i <masolat.size();i++) {
if(masolat[0]==szam) {
break;
}
masolat.erase(masolat.begin());
}*/
cout << masolat.size() << endl;
int cv = 0;
for (int i = szamok.size(); i < n; i++)
{
if (cv == masolat.size())
{
cv = 0;
}
szamok.push_back(masolat[cv]);
cv++;
}
//cout << szamok[127];
sort(szamok.begin(), szamok.end());
reverse(szamok.begin(), szamok.end());
cout << szamok[k - 1] << endl;
return 0;
}