# http://w...content-available-to-author-only...t.com/2005/11/chinese-remainder-theorem-in-python.html

#!/usr/bin/env python

def ext_euclid(a, b) :
        if b == 0 :
                return (a, 1, 0)
        else :
                (d, xx, yy) = ext_euclid(b, a % b)
                x = yy
                y = xx - (a / b) * yy
                return (d, x, y)

def inverse(a, n):
                return ext_euclid(a, n)[1]

k = int(raw_input())
a = []
n = []
N = []
b = []

for i in xrange(0, k):
        a_i, n_i = map(long, raw_input().split())
        a.append(a_i)
        n.append(n_i)

n_product = reduce(lambda x, y: x * y, n, 1)

for i in xrange(0, k):
        N_term = 1
        for j in xrange(0, k):
                if i != j:
                	N_term = N_term * n[j]
        N.append(N_term)

for i in xrange(0, k):
        b.append(inverse(N[i], n[i]))

x = 0
for i in xrange(0, k):
        x = x + a[i] * N[i] * b[i] % n_product

print x