#yuki_117 mod=10**9+7 n=2*10**6 fact=[0 for i in xrange(n+1)] inv=[0 for i in xrange(n+1)] factr=[0 for i in xrange(n+1)] inv[1]=fact[0]=factr[0]=1 for i in xrange(2,n+1): inv[i]=inv[mod%i]*(mod-mod/i)%mod for i in xrange(1,n+1): fact[i]=fact[i-1]*i%mod factr[i]=factr[i-1]*inv[i]%mod def comb(n,k): if k<0 or k>n: return 0 return factr[k]*fact[n]%mod*factr[n-k]%mod def perm(n,k): if k<0 or k>n: return 0 return fact[n]*factr[n-k]%mod def hcomb(n,k): if n==0 and k==0: return 1 return comb(n+k-1,k) t=int(raw_input()) for i in xrange(t): s=raw_input() c=s[0] n,k=map(int,s[2:-1].split(',')) if c=='C': print comb(n,k) if c=='P': print perm(n,k) if c=='H': print hcomb(n,k)