N, K, Q = map(int, input().split()) def manacher(s): n = len(s) rad = [None] * n i = 0 k = 0 while i < n: while i-k-1>=0 and i+k+1= 0 and rad[i-j] < k: rad[i+j] = rad[i-j] j += 1 k -= 1 i += j return rad S = input() rad = manacher(S + S + S + S + S) for _ in range(Q): A = int(input()) - 1 if rad[A % N + 2*N] >= 2*N: print(min(A, N*K-1-A)*2+1) else: print(min(rad[A % N + 2*N], A, N*K-1-A)*2+1)