using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace sorozatgeneralas
{
internal class Program
{
static int lepesek(long sorozateleme, int A, int B, int M)
{
sorozateleme = sorozateleme * A + B;
string s = sorozateleme.ToString();
s = new string('0', M*4- sorozateleme.ToString().Length)+sorozateleme.ToString(); //Zárójelben: mit adunk hozzá és hányat.
return int.Parse(s.Substring(M, M * 2));
}
/*
// Nem adtunk be adatot, ezért nem jó a sortolás
static int[] adat1, adat2, adat3; //Ezek szerint sortolunk
static int Comp(int a, int b)
{
if (adat1[a] == adat1[b])
{
if (adat2[a] == adat2[b])
{
if (adat3[a] == adat3[b])
{
return 0;
}
return (adat3[a] < adat3[b] ? 1 : -1);
}
return (adat2[a] < adat2[b] ? 1 : -1);
}
return (adat1[a] < adat1[b] ? 1 : -1); //Bal oldalt true (1), jobb oldaon -1; ternary operator
}
/*
*/
static void Main(string[] args)
{
/*
// adatokat feltolteni
int n = 5;
int[] indexek = new int[n];
for (int i = 0; i < n; i++)
{
indexek[i] = i;
}
Array.Sort(indexek, Comp); //Mit sortolunk és milyen függvény alapján
*/
int[] st = Console.ReadLine().Split().Select(int.Parse).ToArray();
int M = st[0]; //2*M jegyű pozitív számból indulunk ki és 4*M jegyűt kell majd kapnunk
int X = st[1]; //Kezdőszám
int A = st[2]; //számolunk vele
int B = st[3]; //Számolunk vele
int N = st[4]; //Ennyiszer hajtjuk végre a lépéseket
int K = st[5]; //A K. legnagyobb elemre vagyunk kíváncsiak
//Feldolgozás:
int mostszamolt;
mostszamolt = X;
List<int> sorozatelemei = new List<int>();
int sorozateleme = X;
for (int i = 0; i < N; i++)
{
sorozateleme=lepesek(sorozateleme,A,B,M);
sorozatelemei.Add(sorozateleme);
}
//két egyforma elem távolsága
Dictionary<int, int> volt = new Dictionary<int, int>();
int ismetodesszam=0;
for (int i = 0; i < N; i++)
{
if (volt.ContainsKey(sorozatelemei[i]))
{
ismetodesszam = i - volt[sorozatelemei[i]]; //A legelső ismétlődésnek megjegyzi a távolságát
break;
}
volt.Add(sorozatelemei[i], i);
}
Console.WriteLine(ismetodesszam);
//K. legnagyobb elem
//sorting:
sorozatelemei.Sort();
Console.WriteLine(sorozatelemei[N-K]);
Console.ReadKey();
}
}
}