from bisect import bisect_left, bisect_right N = int(input()) D = list(map(int, input().split())) Q = int(input()) query = [list(map(int, input().split())) for _ in range(Q)] def encode(m, d): return cum[m-1]+(d-1) def decode(n): b = bisect_right(cum, n)-1 return b+1, n-cum[b]+1 total = sum(D) cum = [0] for d in D: cum.append(cum[-1]+d) for y, m, d, k in query: n = encode(m, d) nex = (n+k)%total nm, nd = decode(nex) ny = y+(k//total) if 1 <= (n+k%total)//total: ny += 1 print(ny, nm, nd)