// ~~ icebear ~~
#include <bits/stdc++.h>
using namespace std;
#define int ll
typedef long long ll;
typedef pair<int, int> ii;
typedef pair<int, ii> iii;
template<class T>
bool minimize(T &a, const T &b) {
if (a > b) return a = b, true;
return false;
}
template<class T>
bool maximize(T &a, const T &b) {
if (a < b) return a = b, true;
return false;
}
#define FOR(i,a,b) for(int i=(a); i<=(b); ++i)
#define FORR(i,a,b) for(int i=(a); i>=(b); --i)
#define REP(i, n) for(int i=0; i<(n); ++i)
#define RED(i, n) for(int i=(n)-1; i>=0; --i)
#define MASK(i) (1LL << (i))
#define BIT(S, i) (((S) >> (i)) & 1)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define task "div"
const int MOD = 998244353;
const int inf = 1e9 + 27092008;
const ll INF = 1e18 + 27092008;
const int N = 1e7 + 5;
int n, k;
void init(void) {
cin >> n >> k;
if (n == 1) {
cout << 1;
exit(0);
}
}
void process(void) {
int val = 0;
int tmp = n;
int i = 2;
vector<ii> primes;
while(i * i <= n) {
if (n % i == 0) {
int cnt = 0;
while(n % i == 0) cnt++, n /= i;
primes.pb(mp(i, cnt));
}
i++;
}
if (n > 1) val++, primes.pb(mp(n, 1));
n = tmp;
auto power = [&](int x, int k, int m) {
int res = 1;
while(k) {
if (k & 1) res = 1LL * res * x % m;
k >>= 1;
x = 1LL * x * x % m;
}
return res;
};
int ans = 1;
for(ii p : primes)
ans = 1LL * ans * ((power(p.fi, 1LL * p.se * power(2, k, MOD - 1) % (MOD - 1) + 1, MOD) - power(p.fi, p.se, MOD) + MOD) % MOD)
% MOD * power(p.fi - 1, MOD - 2, MOD) % MOD;
cout << ans;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(task".inp", "r")) {
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
int tc = 1;
// cin >> tc;
while(tc--) {
init();
process();
}
return 0;
}
Ly8gfn4gaWNlYmVhciB+fgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbGwKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CnR5cGVkZWYgcGFpcjxpbnQsIGlpPiBpaWk7Cgp0ZW1wbGF0ZTxjbGFzcyBUPgogICAgYm9vbCBtaW5pbWl6ZShUICZhLCBjb25zdCBUICZiKSB7CiAgICAgICAgaWYgKGEgPiBiKSByZXR1cm4gYSA9IGIsIHRydWU7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKdGVtcGxhdGU8Y2xhc3MgVD4KICAgIGJvb2wgbWF4aW1pemUoVCAmYSwgY29uc3QgVCAmYikgewogICAgICAgIGlmIChhIDwgYikgcmV0dXJuIGEgPSBiLCB0cnVlOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiNkZWZpbmUgRk9SKGksYSxiKSBmb3IoaW50IGk9KGEpOyBpPD0oYik7ICsraSkKI2RlZmluZSBGT1JSKGksYSxiKSBmb3IoaW50IGk9KGEpOyBpPj0oYik7IC0taSkKI2RlZmluZSBSRVAoaSwgbikgZm9yKGludCBpPTA7IGk8KG4pOyArK2kpCiNkZWZpbmUgUkVEKGksIG4pIGZvcihpbnQgaT0obiktMTsgaT49MDsgLS1pKQojZGVmaW5lIE1BU0soaSkgKDFMTCA8PCAoaSkpCiNkZWZpbmUgQklUKFMsIGkpICgoKFMpID4+IChpKSkgJiAxKQojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIHRhc2sgImRpdiIKCmNvbnN0IGludCBNT0QgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBpbmYgPSAxZTkgKyAyNzA5MjAwODsKY29uc3QgbGwgSU5GID0gMWUxOCArIDI3MDkyMDA4Owpjb25zdCBpbnQgTiA9IDFlNyArIDU7CmludCBuLCBrOwoKdm9pZCBpbml0KHZvaWQpIHsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBpZiAobiA9PSAxKSB7CiAgICAgICAgY291dCA8PCAxOwogICAgICAgIGV4aXQoMCk7CiAgICB9Cn0KCnZvaWQgcHJvY2Vzcyh2b2lkKSB7CiAgICBpbnQgdmFsID0gMDsKICAgIGludCB0bXAgPSBuOwogICAgaW50IGkgPSAyOwogICAgdmVjdG9yPGlpPiBwcmltZXM7CiAgICB3aGlsZShpICogaSA8PSBuKSB7CiAgICAgICAgaWYgKG4gJSBpID09IDApIHsKICAgICAgICAgICAgaW50IGNudCA9IDA7CiAgICAgICAgICAgIHdoaWxlKG4gJSBpID09IDApIGNudCsrLCBuIC89IGk7CiAgICAgICAgICAgIHByaW1lcy5wYihtcChpLCBjbnQpKTsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQoKICAgIGlmIChuID4gMSkgdmFsKyssIHByaW1lcy5wYihtcChuLCAxKSk7CgogICAgbiA9IHRtcDsKCiAgICBhdXRvIHBvd2VyID0gWyZdKGludCB4LCBpbnQgaywgaW50IG0pIHsKICAgICAgICBpbnQgcmVzID0gMTsKICAgICAgICB3aGlsZShrKSB7CiAgICAgICAgICAgIGlmIChrICYgMSkgcmVzID0gMUxMICogcmVzICogeCAlIG07CiAgICAgICAgICAgIGsgPj49IDE7CiAgICAgICAgICAgIHggPSAxTEwgKiB4ICogeCAlIG07CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CiAgICB9OwoKICAgIGludCBhbnMgPSAxOwogICAgZm9yKGlpIHAgOiBwcmltZXMpCiAgICAgICAgYW5zID0gMUxMICogYW5zICogKChwb3dlcihwLmZpLCAxTEwgKiBwLnNlICogcG93ZXIoMiwgaywgTU9EIC0gMSkgJSAoTU9EIC0gMSkgKyAxLCBNT0QpIC0gcG93ZXIocC5maSwgcC5zZSwgTU9EKSArIE1PRCkgJSBNT0QpCiAgICAgICAgICAgICAgICAgICAgJSBNT0QgKiBwb3dlcihwLmZpIC0gMSwgTU9EIC0gMiwgTU9EKSAlIE1PRDsKICAgIGNvdXQgPDwgYW5zOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3Blbih0YXNrIi5pbnAiLCAiciIpKSB7CiAgICAgICAgZnJlb3Blbih0YXNrIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKHRhc2siLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KICAgIGludCB0YyA9IDE7Ci8vICAgICBjaW4gPj4gdGM7CiAgICB3aGlsZSh0Yy0tKSB7CiAgICAgICAgaW5pdCgpOwogICAgICAgIHByb2Nlc3MoKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==