static void Main(string[] args)
{
System.Numerics.BigInteger times = new BigInteger();
System.Numerics.BigInteger index = new BigInteger();
string n = "6314466083072888893799357126131292332363298818330841375588990772701957128924885547308446055753206513618346628848948088663500368480396588171361987660521897267810162280557475393838308261759713218926668611776954526391570120690939973680089721274464666423319187806830552067951253070082020241246233982410737753705127344494169501180975241890667963858754856319805507273709904397119733614666701543905360152543373982524579313575317653646331989064651402133985265800341991903982192844710212464887459388853582070318084289023209710907032396934919962778995323320184064522476463966355937367009369212758092086293198727008292431243681";
byte [] nx = new byte[n.Length];
for(int i=0;i<n.Length;i++)
{
nx[i] = (byte)n[i];
}
System.Numerics.BigInteger N = new BigInteger(nx);
System.Numerics.BigInteger value = new BigInteger();
times = 79685186856218;
index = 0;
value = 2;
while(index < times)
{
value = System.Numerics.BigInteger.Pow(value, 2) % N;
Console.WriteLine(string.Format("{0}={1}", index++, value));
}
}