n,m,q = map(int, input().split())
all_sets = [set() for _ in range(n+m+1)]
for i in range(1, n+1):
for j in range(i, n+1, i):
all_sets[i].add(j)
for i in range(m):
line = input().split()
if len(line) == 3:
op, x, y = map(int, line)
else:
op, x = map(int, line)
match op:
case 1:
all_sets[n+i+1] = all_sets[x] | all_sets[y]
case 2:
all_sets[n+i+1] = all_sets[x] & all_sets[y]
case 3:
all_sets[n+i+1] = all_sets[1] - all_sets[x]
for _ in range(q):
x, v = map(int, input().split())
if v in all_sets[x]:
print("TAK")
else:
print("NIE")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | n,m,q = map(int, input().split()) all_sets = [set() for _ in range(n+m+1)] for i in range(1, n+1): for j in range(i, n+1, i): all_sets[i].add(j) for i in range(m): line = input().split() if len(line) == 3: op, x, y = map(int, line) else: op, x = map(int, line) match op: case 1: all_sets[n+i+1] = all_sets[x] | all_sets[y] case 2: all_sets[n+i+1] = all_sets[x] & all_sets[y] case 3: all_sets[n+i+1] = all_sets[1] - all_sets[x] for _ in range(q): x, v = map(int, input().split()) if v in all_sets[x]: print("TAK") else: print("NIE") |
English