#include using namespace std; using ll=long long; const int MOD=1'000'000'007; vector>pd(vector>&A,vector>&B){ int N=A.size(); vector C(N,vector(N)); for(int i=0;i>matrix_pow(vector>&A,ll K){ int N=A.size(); vector ret(N,vector(N)); for(int i=0;i>i&1){ ret=pd(ret,A); } A=pd(A,A); } return ret; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; vectorP(3); cin>>N; for(int i=0;i<3;i++)cin>>P[i]; vector>V={{1,-1,0},{0,1,-1},{-1,0,1}}; vector>M=matrix_pow(V,N-1); for(int i=0;i<3;i++){ ll ans=0; for(int j=0;j<3;j++){ ans=(ans+M[i][j]*P[j])%MOD; } cout<