import sys input = lambda : sys.stdin.readline().rstrip() sys.setrecursionlimit(2*10**5+10) write = lambda x: sys.stdout.write(x+"\n") debug = lambda x: sys.stderr.write(x+"\n") writef = lambda x: print("{:.12f}".format(x)) def nx(v): l = 0 r = k*v while abs(l-r)>1: m = (l+r)//2 if (m) - (m+k-1)//k >= v: r = m else: l = m # if (r-1)%k==0: # r += 1 return r def sub0(n,k): l = list(range(1,k+1)) v = nx(k) while v<=n: l.append(v) v = nx(v) l.append(v) return l k,q = list(map(int, input().split())) l = sub0(10**18+10,k) from bisect import bisect_left as bl for i in range(q): n = int(input()) if n==1: write("1") continue ind = bl(l, n) if l[ind]>n: ind -= 1 write(str(l[ind]))