L,R,M = map(int,input().split()) if L>=M: ans = 0 else: A = list(range(M)) A[0] = 1 for i in range(2,M): A[i] = (A[i-1]*i)%M ans = 1 for i in range(2,L+1): ans = (ans*A[i])%M B = [1]*(M-L) for i in range(1,M-L): B[i] = (B[i-1]*A[L+i])%M cnt = 0 for i in range(min(M-1,R)-L+1): cnt = (cnt+B[i])%M ans = (ans*cnt)%M print(ans)