defsolve(): n = int(sys.stdin.readline()) l,r = 1,int(1e9) ls = [] for _ inrange(n): a,x = map(int, sys.stdin.readline().split()) if a == 3: ls.append(x) elif a == 2: r = min(r,x) else: l = max(x,l) if r < l: print(0) return ans = r-l+1 for x in ls: if x <= r and x >= l: ans -= 1 print(ans) # print(ls) # print(l,r)
defcheck(x): if x == n: return1 g = abs(ls[1]-ls[x+1]) for i inrange(1,x+1): for j inrange(i+x,n+1,x): g = gcd(g,abs(ls[i]-ls[j])) if g == 1: return0 else: return1
for _ inrange(int(input())): n = int(sys.stdin.readline()) ls = [0]+list(map(int, sys.stdin.readline().split())) ans = 0 for i inrange(1,int(sqrt(n))+1): if n % i == 0: if check(i): ans += 1 if i != n // i: if check(n // i): ans += 1 print(ans)
for _ inrange(int(input())): n,q = map(int, input().split()) lst,dp = [0],[0] for i inrange(1,n+1): b,x = map(int, input().split()) if dp[-1] > 1e18: continue if b == 1: lst.append(x) dp.append(dp[-1]+1) else: lst.append(lst[-1]) dp.append(dp[-1]*(x+1) if (x+1) <= 1e18/dp[i-1] else2e18)
ls = list(map(int,input().split())) ans = [0]*(q) for i inrange(q): k = ls[i] whileTrue: l, r = 0, len(dp) while l < r: mid = (l + r) // 2 if mid >= len(dp) or dp[mid] >= k: r = mid else: l = mid + 1 if dp[r] == k: ans[i] = lst[r] break elif k % dp[r-1] == 0: ans[i] = lst[r-1] break k %= dp[r-1] print(*ans)