#!/usr/bin/ruby gets.to_i.times{ n,m=gets.split.map(&:to_i) a=0 #b=1 if (2..Math.sqrt(m)).each{|b| if m%b<1 if n0 a=a*n%m n-=1 end end break end } then if n0 a=a*b%m if n%2>0 b=b*b%m n/=2 end end end p a }