晓轩

博客园 首页 联系 订阅 管理

#include<iostream>
#include<cstdio>
#include<cmath>

typedef __int64  int64;

__int64 mod_pow(__int64 x,__int64 n,__int64 m)
{
 __int64 ans=1;
 while(n>0)
 {
  if(n&1)
  {
   ans=ans*x%m;
  }
  x=x*x%m;
  n>>=1;
 }
 return ans;
}

int main()
{
 int T,H;
 __int64 M,a,b,sum;
 scanf("%I64d",&T);
 while(T--)
 {
  scanf("%I64d",&M);
  scanf("%d",&H);
  sum=0;
  while(H--)
  {
   scanf("%I64d%I64d",&a,&b);
   sum=(sum+mod_pow(a,b,M))%M;
  }
  printf("%I64d\n",sum);
 }
 return 0;
}

posted on 2013-08-17 18:16  晓轩  阅读(124)  评论(0)    收藏  举报