using System; using System.Collections.Generic; using System.Text; using System.Linq; class Program { public void Proc() { Reader.IsDebug = false; string numStr = Reader.ReadLine(); string powStr = Reader.ReadLine(); int num = int.Parse(numStr.Substring(numStr.Length - 1)); Dictionary dic = new Dictionary(); dic.Add(0, new int[]{0}); dic.Add(1, new int[]{1}); dic.Add(2, new int[]{2, 4, 8, 6}); dic.Add(3, new int[]{3, 9, 7, 1}); dic.Add(4, new int[]{4, 6}); dic.Add(5, new int[]{5}); dic.Add(6, new int[]{6}); dic.Add(7, new int[]{7,9,3,1}); dic.Add(8, new int[]{8,4,2,6}); dic.Add(9, new int[]{9, 1}); int pow = int.Parse(powStr.Substring(Math.Max(0, powStr.Length - 2))); int idx = pow % dic[num].Length - 1; if(idx < 0) { idx = dic[num].Length - 1; } int ans = 1; if(powStr != "0") { ans = dic[num][idx]; } Console.WriteLine(ans); } private Dictionary dic = new Dictionary(); private int getAns(int num, string powStr) { string[] div2 = this.Div2(powStr); int ans = 1; if(div2[0].Length >= 2) { ans = this.getAns(num, div2[0]); } else { int pow = int.Parse(div2[0]); ans = (int)(Math.Pow(num, pow) % 10); } ans = ans * ans; if(div2[1] == "1") { ans = ans * num; } ans = ans % 10; return ans; } private string[] Div2(string strNum) { StringBuilder ans = new StringBuilder(); int nextKeta = 0; for(int i=0; i