#pragma GCC optimize("Ofast") #pragma GCC target("avx2") const long a[][10]={ {}, {10,1}, {142,1}, {1726,1438,286,1}, {20734,15262,5470,1}, {248830,233566,207358,192094,41470,26206,15262,1}, {2985982,2721886,2280958,2016862,705022,264094,1}, {35831806,29859838,26609758,20637790,9222046,5971966,3250078,1}, {429981694,349096030,247572574,235628638,194353054,182409118,80885662,1}, {5159780350,4299816958,859963390,1}, {61917364222,45578059774,16339304446,1}, {743008370686,619173642238,123834728446,1}, {8916100448254,6810910064638,2105190383614,1}, {106993205379070,89161004482558,17832200896510,1}, {1283918464548862,1}, {15407021574586366,12839184645488638,2567836929097726,1}, }; const char b[][10][8]={ { }, { " 0", " 1", " 3", }, { " 0", " 3", " 9", }, { " 0", " 3", " 6", " 9", " 27", }, { " 0", " 15", " 21", " 27", " 81", }, { " 0", " 15", " 21", " 36", " 42", " 57", " 63", " 81", " 243", }, { " 0", " 111", " 117", " 159", " 171", " 225", " 243", " 729", }, { " 0", " 207", " 414", " 432", " 450", " 468", " 711", " 729", " 2187", }, { " 0", " 1899", " 2007", " 2025", " 2043", " 2061", " 2079", " 2187", " 6561", }, { " 0", " 2187", " 4374", " 6561", " 19683", }, { " 0", " 10935", " 15309", " 19683", " 59049", }, { " 0", " 19683", " 39366", " 59049", " 177147", }, { " 0", " 98415", " 137781", " 177147", " 531441", }, { " 0", " 177147", " 354294", " 531441", " 1594323", }, { " 0", " 1594323", " 4782969", }, { " 0", " 1594323", " 3188646", " 4782969", "14348907", }, }; int main(){ char rbuf[64]; read(0,rbuf,sizeof rbuf); char*rp=rbuf; int n=*rp++-'0'; if(*rp>='0'){ n=*rp++-'0'+10; } ++rp; long m=0; for(int c;c=*rp++-'0',c>=0;){ m=m*10+c; } int i=0; while(m