For this Question: You are given an integer N. Find the number of ways to fill a NX2 grid with red and blue colours such that:

 1. There is at least one square of each colour.
 2. Both colours form a connected component, i.e. it is possible to travel between any two squares of the same colour, only by moving through squares of this colour. You can move from one square to other if they share a side. You cannot move from a square to other if they share a corner.


Since the answer can be very large, find the answer modulo 998244353.The first line contains an integer T (1 <= T <= 10^5) - the number of test cases.

Next T lines contain the value of N (1 <= N <= 10^18) for T test cases.For each test case, print the answer modulo 998244353 in a separate line.Sample Input 1:
2
1
2

Sample Output 2:
2
12

Explanation:
For testcase 1, possible solutions are [R B] and [B R]., I have written this Solution Code: //*** Author: ShlokG ***//
#include <bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(f,n) std::fixed<<std::setprecision(n)<<f
typedef long long int ll;
typedef unsigned long long int ull;
#define pb push_back
#define endl "\n"

const ll MAX=1e18+5;

ll mod=1e9+7;
ll mod1=998244353;

const int infi = 1e9;
const ll INF=1e18;

void precompute(){

}

void TEST_CASE(){
    ll n;
    cin >> n;
    ll n1=2*n;
    n1%=mod1;
    ll n2=n1-1+mod1;
    n2%=mod1;
    cout << (n1*n2)%mod1 << endl;
}

signed main(){
    fast;
    //freopen ("INPUT.txt","r",stdin);
    //freopen ("OUTPUT.txt","w",stdout);
    int test=1,TEST=1;
    precompute();
    cin >> test;
    while(test--){
        //cout << "Case #" << TEST++ << ": ";
        TEST_CASE();
    }
    return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?