func_code_string: #define _CRT_SECURE_NO_WARNINGS    #include <bits/stdc++.h>   using namespace std;   typedef long long ll;   typedef unsigned long long ull;   #define all(x) x.begin(), x.end()   #define rall(x) x.rbegin(), x.rend()   //#define endl   n    #define boostIO() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);   ll gcd(ll a, ll b) { return (b == 0 ? a : gcd(b, a % b)); }      ll mod = 998244353;      ll binpow(ll a, ll n) {    ll res = 1;    while (n) {     if (n & 1)      res = (1LL * res * a) % mod;     a = (1LL * a * a) % mod;        n >>= 1;    }    return res;   }      signed main() {    int q = 1;    //cin >> q;    while (q--) {     int n;     cin >> n;     vector<ll> dp(n + 3, 0);     dp[1] = 1, dp[2] = 1;     for (int i = 3; i <= n; ++i) {      dp[i] = dp[i - 1] + dp[i - 2];      if (dp[i] >= mod) dp[i] -= mod;     }     cout << (dp[n] * binpow(binpow(2, n), mod - 2)) % mod;    }   }   