A. N-choice question
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
n, a, b = list(map(int, input().rstrip('\n').split()))
c = list(map(int, input().rstrip('\n').split()))
print(c.index(a + b) + 1)
if __name__ == '__main__':
solve()
B. Same Map in the RPG World
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
h, w = list(map(int, input().rstrip('\n').split()))
a = [list(str(input().rstrip('\n'))) for _ in range(h)]
b = [list(str(input().rstrip('\n'))) for _ in range(h)]
for i in range(h):
for j in range(w):
tl = []
for k in range(h):
tl.append([a[(i + k) % h][(j + l) % w] for l in range(w)])
if b == tl:
print("Yes")
exit()
print("No")
if __name__ == '__main__':
solve()
C. Cross
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
h, w = list(map(int, input().rstrip('\n').split()))
c = [list(str(input().rstrip('\n'))) for _ in range(h)]
ls = [0] * min(h, w)
for i in range(h):
for j in range(w):
if c[i][j] == "#":
mx = -1
for k in range(1, len(ls) + 1):
is_ok = True
for x, y in [[k, k], [k, -k], [-k, k], [-k, -k]]:
if 0 <= i + x < h and 0 <= j + y < w and c[i + x][j + y] == "#":
continue
else:
is_ok = False
break
if is_ok:
mx = max(mx, k)
else:
break
if mx != -1:
ls[mx-1] += 1
print(*ls)
if __name__ == '__main__':
solve()
D. AABCC
import sys
import bisect
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
p = [True] * pow(10, 6)
prime = []
for i in range(2, len(p)):
if p[i]:
prime.append(i)
for j in range(i, len(p), i):
p[j] = False
n = int(input().rstrip('\n'))
ans = 0
for i in range(len(prime)):
a = pow(prime[i], 2)
if a < n:
for j in range(i + 1, len(prime)):
b = prime[j]
if a * b < n:
c = pow(n / a / b, 0.5)
if c < b:
break
else:
left = bisect.bisect_right(prime, b)
right = bisect.bisect_right(prime, c)
ans += right - left
else:
break
else:
break
print(ans)
if __name__ == '__main__':
solve()