#include#include #define wea stdusing namespace wea;const int N=105;int n;struct CN{ int m[N],w[N]; int tot; void init(){tot=0;} void add(int x,int y) { m[++tot]=x; w[tot]=y; } int exgcd(int a,int b,int &x,int &y) { if(!b){x=1,y=0;return a;} int c=exgcd(b,a%b,y,x); y-=(a/b)*x; return c; } void calc(int a,int b) { int x,y; exgcd(m[a],m[b],x,y); w[a]+=x*(w[b]-w[a])*m[a]; m[a]*=m[b]; w[a]=(w[a]%m[a]+m[a])%m[a]; } void getans() { for(int i=2;i<=tot;i++) calc(1,i); printf("x mod %d = %d\n",m[1],w[1]); }}d;int main(){ while(scanf("%d",&n),n) { d.init(); //输入保证有解 = = for(int i=1;i<=n;i++) { int x,y; scanf("%d%d",&x,&y); d.add(x,y); } d.getans(); }}