#include #include #include #include using namespace std;const long long mod=2147493647;const int maxn=100000+10;struct T{ long long maxtrix[7][7]; int lenx,leny; void base(){ lenx=leny=7; maxtrix[0][0]=0;maxtrix[0][1]=1;maxtrix[0][2]=0;maxtrix[0][3]=0;maxtrix[0][4]=0;maxtrix[0][5]=0;maxtrix[0][6]=0; maxtrix[1][0]=2;maxtrix[1][1]=1;maxtrix[1][2]=1;maxtrix[1][3]=0;maxtrix[1][4]=0;maxtrix[1][5]=0;maxtrix[1][6]=0; maxtrix[2][0]=0;maxtrix[2][1]=0;maxtrix[2][2]=1;maxtrix[2][3]=4;maxtrix[2][4]=6;maxtrix[2][5]=4;maxtrix[2][6]=1; maxtrix[3][0]=0;maxtrix[3][1]=0;maxtrix[3][2]=0;maxtrix[3][3]=1;maxtrix[3][4]=3;maxtrix[3][5]=3;maxtrix[3][6]=1; maxtrix[4][0]=0;maxtrix[4][1]=0;maxtrix[4][2]=0;maxtrix[4][3]=0;maxtrix[4][4]=1;maxtrix[4][5]=2;maxtrix[4][6]=1; maxtrix[5][0]=0;maxtrix[5][1]=0;maxtrix[5][2]=0;maxtrix[5][3]=0;maxtrix[5][4]=0;maxtrix[5][5]=1;maxtrix[5][6]=1; maxtrix[6][0]=0;maxtrix[6][1]=0;maxtrix[6][2]=0;maxtrix[6][3]=0;maxtrix[6][4]=0;maxtrix[6][5]=0;maxtrix[6][6]=1; } void get1(int k){ lenx=leny=k; memset(maxtrix,0,sizeof(maxtrix)); for(int i=0;i >=1; } return res;}int main(){ freopen("sequence.in", "r", stdin); freopen("sequence.out", "w", stdout); long long i,j,k,m,n,a1,a2; T x;x.base(); scanf("%lld%lld%lld",&n,&a1,&a2); x=_pow(x,n-2); T ans; ans.lenx=7;ans.leny=1; ans.maxtrix[0][0]=a1;ans.maxtrix[1][0]=a2; ans.maxtrix[2][0]=81; ans.maxtrix[3][0]=27; ans.maxtrix[4][0]=9; ans.maxtrix[5][0]=3; ans.maxtrix[6][0]=1; ans=x*ans; cout< <