sub mul{ my@C; for$y(0..9){ for$x(0..9){ for(0..9){ ($C[$y][$x]+=(@{$_[0]})[$y][$_]*(@{$_[1]})[$_][$x])%=1e9+7 } } } [@C] } @T=( [1,1,1,1,1,1,1,1,0,0], [0,1,1,1,0,0,0,1,0,1], [0,1,1,1,1,1,0,0,0,1], [0,1,1,1,1,1,1,0,1,1], [0,0,1,1,1,1,0,0,0,1], [0,0,1,1,1,1,1,0,0,1], [0,0,0,1,0,1,1,1,0,1], [0,0,0,1,0,0,0,1,0,0], [0,1,0,0,0,0,1,0,1,1], [0,0,0,0,0,0,0,0,0,1] ); $Z[$_][$_]=1for 0..9; $N=<>; @Z=@{;mul[@Z],[@Z]},$N+1>>$=&1and@Z=@{;mul[@Z],[@T]}while$=--; print$Z[0][9]