#include using namespace std; #define rep(i,n) for(int i = 0;i<((int)(n));i++) #define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++) #define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--) #define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--) typedef long long ll; typedef pair mp; ll mod = 1e9+7; /* There are 𝑁 cards on the table. Each cards are numbered from 1 to 𝑁. Mr.yuki should write an integer, which is no less than 1 and no more than 𝑀, on each cards. How many ways to write? 𝑁, 𝑀 are intgers between 1 and 16. Output the answer in single line. */ unsigned long long n,m; unsigned long long mod_pow(unsigned long long x,unsigned long long n){ unsigned long long res=1; while(n){ if(n&1) res*=x; x*=x; n>>=1; } return res; } int main(void){ cin>>n>>m; cout<