#include using namespace std; #pragma GCC optimize("O0") typedef long long int ll; typedef long double ld; const ll mod = 1e9+7; const ll INF = 9223372036854775807; #define rep(i,n) for (ll i = 0; i < (n); ++i) #define Rep(i,a,n) for (ll i = (a); i < (n); ++i) #define All(a) (a).begin(),(a).end() #define Pi acos(-1) using Graph = vector>; using V = vector; using P = pair; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b 0) { if (n & 1) res = res * a % mod; a = a * a % mod; n >>= 1; } return res; } int main() { ll a, n; cin >> a >> n; cout << mod << '\n'; cout << modpow(a, n, mod) << '\n'; }