#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define repe(i,x,n) for(int i=x; i<(n); ++i) using ll = long long; using P = pair; const int MOD = 1000000007; #define pie 3.1415926535897932384 #define INF 10010010000 #define _GLIBCXX_DEBUG #define All(a) (a).begin(),(a).end() #define rAll(a) (a).rbegin(),(a).rend() #define pb push_back #define mk make_pair #define yes cout << "Yes" << endl; #define no cout << "No" << endl; #define mod 998244353 #define mod2 1000000007 #define decimal cout << fixed << setprecision(20); #define nextP next_permutation #define em emplace_back ll pow(ll x, ll n) { ll ret = 1; while(n > 0) { if(n & 1) { ret = ret * x % MOD; } x = x * x % MOD; n >>= 1; } return ret; } int main() { ll a,n; cin >> a >> n; ll M = 998244353; cout << M << endl; cout << pow(a,n) % M << endl; return 0; }