//↓template↓ #include "bits/stdc++.h" using namespace std; #define Would #define you const long long INF = 1e18; const long long MOD = 1e9 + 7; const double pi = acos(-1); const int SIZE = 1 << 17; int dx[] = { 1,0,-1,0 }, dy[] = { 0,1,0,-1 }, alp[30]; long long fac[200005], finv[200005], inv[200005]; vectordij; struct edge { long long to, cost; }; vector >G; long long mod_pow(long long a, long long b) { long long res = 1; while (b) { if (b & 1) { res = res * a%MOD; } a = a * a%MOD; b >>= 1; } return res; } void addedge(int from, int to, int cost) { G[from].push_back({ to,cost }); G[to].push_back({ from,cost }); } //↑template↑ int main() { int a, b; cin >> a >> b; cout << pow(b, a) << endl; } //There are N cards.Each cards are numbered form 1 to N. Mr.yuki should write an integer, which is no less than 1 and no more than M, on each cards. How many ways to write?