import sys import math from collections import defaultdict from collections import deque sys.setrecursionlimit(1000000) MOD = 10 ** 9 + 7 input = lambda: sys.stdin.readline().strip() NI = lambda: int(input()) NMI = lambda: map(int, input().split()) NLI = lambda: list(NMI()) SI = lambda: input() def zeta(A): """ 高速ゼータ変換 和集合のリストから積集合のリストへ変換など """ n = len(A) def mobius(n, dp): """ 高速メビウス変換 積集合のリストから和集合のリストへ変換など """ dp = dp.copy() dp[0] = 0 for j in range(n): bit = 1<>i) & 1: div = lcm(div, C[i]) nums[case] = H // div - (L-1) // div mob = mobius(N, nums) ans = 0 for i in range(N): ans += mob[1<