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)