#include<iostream>
#include<algorithm>
#include<vector>
#define PB push_back
using namespace std;

int gcd(int a,int b){ return a%b==0 ? b : gcd(b,a%b);}

vector<long long int> lcm(vector<long long int> v){
    vector<long long int> ret;
    for(int i=0;i<v.size()-1;i++){
	ret.PB(v[i]*v[i+1]/gcd(v[i],v[i+1]));
    }
    return ret;
}
int main(){
    while(true){
        long long int p = 1;
        long long  int d[11];
        long long int v[11];
	vector<long long int> lc;
        int n;
        cin >> n;
        if(!n) break;
        for(int i=0;i<n;i++){
            cin >> d[i] >> v[i];
	    lc.PB(d[i]/gcd(d[i],v[i]));
        }
	while(lc.size()>1){
	    lc = lcm(lc);
	}
	p = lc[0];
	
	vector<long long int> ans;
	bool flg = true;
	for(int i=0;i<n;i++){
	    ans.PB(v[i]*p/d[i]);
	}
	for(int i=0;i<n;i++){
	    for(int j=i+1;j<n;j++){
		if(ans[i]!=ans[j]) flg = false;
	    }
	}
	if(!flg){
	    for(int i=0;i<n;i++){
		cout << ans[i] << endl;
	    }
	}else{
	    for(int i=0;i<n;i++){
		cout << 1 << endl;
	    }
	}
    }
    return 0;
}