//D #include //#include using namespace std; using ll = long long; #define ALL(a) (a).begin(),(a).end() using v_vll = vector>; const ll mod=998244353; v_vll matrix_mult(v_vll a,v_vll b){ v_vll ret(a.size(),vector (b[0].size())); for(ll i=0;i(a.size())); for(ll i=0;i0){ if(n&1){ ret=matrix_mult(a,ret); } a=matrix_mult(a,a); n>>=1; } return ret; } ll f(ll n){ v_vll a={ {1,1}, {1,0} }; a=matrix_pow(a,n); ll nth,nm2th; nth=a[1][0]; return nth; } int main(){ //一旦愚直DP書いてみるか ll n;cin>>n; //cout<> dp(n+10,vector (2)); //dp[1][0]=1; /*for(ll i=2;i<=n;i++){ dp[i][0]=(dp[i-1][0]+dp[i-1][1])%998244353; dp[i][1]=dp[i-1][0]%998244353; }*/ /*cout<<"fast"<