#include<iostream>
#include<string>
#include<iomanip>
#include<cmath>
#include<vector>
#include<algorithm>
#include<utility>

using namespace std;

#define int long long
#define endl "\n"

constexpr long long INF = 1e18;
constexpr long long MOD = 1000000007; 

struct fast_io {
  fast_io(){
    std::cin.tie(nullptr);
    std::ios::sync_with_stdio(false);
    cout<<fixed<<setprecision(10);
  };
} fio;

long long power(long long x, long long n){
  long long ans = 1;
  for(;n;n >>= 1, x *= x, ans %= MOD, x %= MOD) if(n&1)ans*=x;
  return ans % MOD;
}

signed main(){
  
  int a, n;
  
  cin>>a>>n;
  
  cout<<MOD<<endl;
  cout<<power(a, n)<<endl;
  
  return 0;
}