while 1: s=(raw_input()); if(len(s)==0): break; m,n=map(int,s.split());b=2**n; print sum((b+1)**n/b**k%b*(-1)**k*(n-k)**m for k in range(n))