#!ruby -narprime e=->n,m{t=1;(1..n).map{|i|t*=(i%m*t)%m};t} f=->n,m{n<2?1%m:1&n<0?((2**n*f[n,m])%m*(g[n-1,m]%m))%m:(n%m)*(f[n-1,m]%m)%m} $F[1]&&( n,m=$F.map &:to_i if m <= n 0 elsif Prime.prime? m f[n,m] else 0 end )