X="ABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNPQRSTVWXYZ_BCDEFGHIJKLMNOPQSTUVWXYZABCDFGHIJKLMN OPQRSTUVWXYZ_ABCDEFHJKLMNOPQRSTUWXYZABCDFGHIJKLMOPQRSTUVWXYZ_ABCDEFGHIJKLMNOPQRSUVXYZAB CDEFGHIJKLMNPQRSTUVWXYZ_ABCDEFGHJKLMOPQRSUVWXYZABCDFHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQ TUVWXYZ_ABCDEFGHIJKLMOPQRSTUVWXYZ_BCDEFGHIJKLMOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZ_ABC DEFGHIJKLNOPQRSTUVWXYZ._ABCDEFGHIJKLMNOPQRSTUVWXZABCDEFGHIJKLMNPQRSTVWXYZABCDEFGHIJKLMN OPQSTUVWXYZ_ABCDEFGHIJKLMNOPQRSUVWXYZBCDEFGHIJKLMNOPQRTUVWXYZABCDEFGHIJLMNOPQRSTUVWXYZ_ ABCDEFGHJKLMNOPQRTUVWXYZ_ABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZ_ABCDEGHJKLM OPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZ_ABCDEFGHIJKLMNOPQRSUVWXYZABCDEFGIJKLMNOPQRSTUVWXY ZABCDFGHIJKLMNOPQRSTUVWXYZ_ABCDEGHIJKLMNOPQRSTUVWXYZBDEFGHIJKLMNOPQRSUVWXYZABCDEFGHIJKL MNPQSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZBCDEFGHIJKMNOPQRSTUVWXYZ_ABCDEFGHIJKLMNPQRSTUVWXYZ ABCDEGHIJKLMNOPQRSTUVWXYZ_ABCDEFGHIJKLMOPQRSTUVWXYZ,_ABCDEFGHIJKLNPQRSTUVWXYZABCEFGHIJK LMNOPQRSTVWXYZABCDEFGHIJKMNPQRSTUVWXYZ_ABCDEFGHIJKLNOPQRSTUVWXYZ." for i in range(1,len(X)): if X[i]=="A" and X[i-1]=="Z": continue if X[i-1]=="_": continue if ord(X[i])!=ord(X[i-1])+1: True #print(chr(ord(X[i])-1),end="") N,M=map(int,input().split()) if N>=M: print(0) else: ANS=1 for i in range(1,N+1): ANS=ANS*i%M print(ANS)