#include<iostream>
#include<cstdio>
#define wea std
using 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();
}
}