import sys from math import gcd def crt(a1, m1, a2, m2): g = gcd(m1, m2) if (a2 - a1) % g != 0: return None m_div = m1 // g n_div = m2 // g inv = pow(m_div, -1, n_div) k = (( (a2 - a1) // g ) * inv) % n_div lcm = m_div * m2 # lcm(m1, m2) x0 = (a1 + k * m1) % lcm return (x0, lcm) def main(): input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 M = int(input[ptr]) ptr += 1 B = [] C = [] for _ in range(M): b = int(input[ptr]) c = int(input[ptr + 1]) ptr += 2 B.append(b) # Normalize C c_mod = c % b C.append(c_mod) # Initial conditions: x ≡ 0 mod 1 current_a = 0 current_mod = 1 for i in range(M): b = B[i] c = C[i] res = crt(current_a, current_mod, c, b) if res is None: print("NaN") return current_a, current_mod = res # Check if current_a is within N if current_a <= N: print(current_a) else: print("NaN") if __name__ == "__main__": main()