#include using namespace std; typedef long long ll; const ll mod=998244353; vector mmulmatvec(vector> a,vector v){ vector ret(2,0); for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ ret[i]+=a[i][j]*v[j]; ret[i]%=mod; } } return ret; } vector> mmulmat(vector> a,vector> b){ vector> ret(2,vector(2,0)); for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ for(int k=0;k<2;k++){ ret[i][j]+=a[i][k]*b[k][j]; ret[i][j]%=mod; } } } return ret; } vector> mpowmat(vector> a,ll b){ vector> ret={{1,0},{0,1}},apow=a; while(b){ if(b&1)ret=mmulmat(ret,apow); apow=mmulmat(apow,apow); b=b>>1; } return ret; } int main(){ ll n; cin>>n; // zoi * i , zo * (n - 2 * i) // i : 1 ~ n/2 //S i:1~n/2 (n-i)Ci vector> b={ {1,1},{1,0} }; vector init={1,0}; vector mat=mmulmatvec(mpowmat(b,n-1),init); ll ans=(mat[0]+mat[1])%mod; cout<