func_code_string: #include<bits/stdc++.h>   using namespace std ;      # define all(v) (v).begin() , (v).end()   # define allrev(v) (v).rbegin() , (v).rend()   # define allcomp(v) (v).begin() , (v).end() , comp      # define ll long long      # define line cout <<   n  ;   # define fast ios_base :: sync_with_stdio ( false ) ; cin.tie ( 0 ) ;      # define pii pair < int , int >   # define pll pair < ll , ll >      # define F first   # define S second      const int mod = 998244353  ;      const int dx[] = { -1 , 0 , 1 , 0 , -1 , -1 , 1 , 1 } ;   const int dy[] = { 0 , 1 , 0 , -1 , -1 , 1 , -1 , 1 } ;      ll mod_pow ( ll a , ll b )   {       if ( b == 0 )           return 1 ;          if ( b == 1 )           return a%mod ;          if ( b == 2 )       {           return ((a%mod) * (a%mod))%mod ;       }          return (mod_pow ( mod_pow ( a , b>>1 ) , 2 ) * mod_pow ( a , b&1 ))%mod ;   }      void solve ( int test_case )   {       int n ;       cin >> n ;          int bak = n ;          int nr = 0 ;       if ( n <= 2 )           nr = 1 ;             else       {           n -= 2 ;           ll a = 1 , b = 1 ;              while ( n -- )           {               b += a ;               a = b - a ;                  a %= mod ;               b %= mod ;           }              nr = b ;       }          ll f = 1 ;       for ( int i = 1 ; i <= bak ; i ++ )           f <<= 1 , f %= mod ;      //    cout <<  nr :   << nr <<   and dr :   << f ; line ;          f = mod_pow ( f , mod - 2 ) ;                ll ans = nr * f ;       ans %= mod ;          cout << ans ; line ;   }      int main()   {fast       int t = 1 ;       // cin >> t ;          for ( int i = 1 ; i <= t ; i ++ )       {           solve ( i ) ;       }          return 0 ;   }      