function Main(input) {
  input = input.split("\n");
  var n = parseInt(input[0]);
  t = new Array(n).fill(0);
  a = new Array(n).fill(0);
  for(i=0;i<n;i++){
      t[i]=UInt64(parseInt(input[i+1].split(" ")[0]));
      a[i]=UInt64(parseInt(input[i+1].split(" ")[1]));
  }
  var tvote=UInt64(t[0]);
  var avote=UInt64(a[0]);
  
  for(i=1;i<n;i++){
      var x=UInt64(Math.ceil(tvote/t[i]));
      var y=x.multiply(a[i]);
      if(UInt64.compare(y,avote)==1){
          tvote=UInt64(Math.ceil(tvote/t[i])*t[i]);
          avote=UInt64(((Math.ceil(tvote/t[i])*t[i])/t[i])*a[i]);
      }else{
          tvote=UInt64(((Math.ceil(avote/a[i])*a[i])/a[i])*t[i]);
          avote=UInt64(Math.ceil(avote/a[i])*a[i]);
      }
  }
  var ans=UInt64(0);
  ans.set(avote)
  ans.add(tvote);
  console.log('%s', ans.toString());
}
function UInt64(value) {
    var uint64 = Object.create(UInt64.prototype);
    uint64._wordArray = new Array(4);
  
    uint64.set(value);
  
    return uint64;
  }
  
  UInt64.compare = function(a, b) {
    for (var i = a._wordArray.length; i >= 0; i--) {
        if (a._wordArray[i] > b._wordArray[i]) {
            return 1;
        }
        else if (a._wordArray[i] < b._wordArray[i]) {
            return -1;
        }
        else {
        }
    }
    return 0;
  };
  
  UInt64.prototype.set = function(value) {
    var div = 0;
  
    if (UInt64.prototype.isPrototypeOf(value)) {
        for (var i = 0; i < this._wordArray.length; i++) {
            this._wordArray[i] = value._wordArray[i];
        }
    }
    else if (typeof value == 'number') {
        div = 1;
        for (var i = 0; i < this._wordArray.length; i++) {
            this._wordArray[i] = (Math.floor(value / div) & 0xFFFF);
            div *= 0x10000;
        }
    }
    else {
        for (var i = 0; i < this._wordArray.length; i++) {
            this._wordArray[i] = 0;
        }
    }
  };
  
  UInt64.prototype.add = function(value) {
    var prevCarry = 0;
    var carry = 0;
  
    for (var i = 0; i < this._wordArray.length; i++) {
        carry = (((this._wordArray[i] + value._wordArray[i] + prevCarry) & 0xFFFF0000) >>> 16);
        this._wordArray[i] = ((this._wordArray[i] + value._wordArray[i] + prevCarry) & 0xFFFF);
        prevCarry = carry;
    }
  
    return this;
  };
  
  UInt64.prototype.multiply = function(value) {
    var prevCarry = 0;
    var carry = 0;
    var prod = UInt64(0);
  
    for (var i = 0; i < this._wordArray.length; i++) {
        prevCarry = 0;
        for (var j = 0; j < value._wordArray.length; j++) {
            if (i + j >= prod._wordArray.length) {
                break;
            }
  
            carry = (((this._wordArray[i] * value._wordArray[j] + prevCarry + prod._wordArray[i + j]) & 0xFFFF0000) >>> 16);
            prod._wordArray[i + j] = ((this._wordArray[i] * value._wordArray[j] + prevCarry + prod._wordArray[i + j]) & 0xFFFF);
            prevCarry = carry;
        }
    }
  
    this.set(prod);
  
    return this;
  };
  
  UInt64.prototype.isZero = function() {
    var ret = true;
  
    for (var i = 0; i < this._wordArray.length; i++) {
        if (this._wordArray[i] > 0) {
            ret = false;
            break;
        }
    }
  
    return ret;
  };
  
  UInt64.prototype.toString = function() {
    var work = UInt64(this);
    var prevMod = 0;
    var mod = 0;
    var str = '';
  
    if (work.isZero()) {
        str = '0';
    }
    else {
        while (!work.isZero()) {
            mod = 0;
            prevMod = 0;
            for (var i = work._wordArray.length - 1; i >= 0; i--) {
                mod = (work._wordArray[i] + prevMod) % 10;
                work._wordArray[i] = Math.floor((work._wordArray[i] + prevMod) / 10);
                prevMod = mod << 16;
            }
  
            str = String.fromCharCode('0'.charCodeAt() + mod) + str;
        }
    }
  
    return str;
  };
Main(require("fs").readFileSync("/dev/stdin", "utf8"));