#!/usr/bin/python3 # https://www.hackerrank.com/challenges/arithmetic-progressions import sys, math def read_ints(): return [int(x) for x in sys.stdin.readline().split()] def read_sequences(n): a = [0] * n d = [0] * n p = [0] * n for i in range(n): ints = read_ints() a[i] = ints[0] d[i] = ints[1] p[i] = ints[2] return (a, d, p) def pow_mod(a, b, mod, acc): powa = a % mod while b > 0: if b & 1 == 1: acc *= powa % mod powa *= powa % mod b >>= 1 return acc def factorial_mod(n, mod, acc): for i in range(2, n+1): acc = (acc * i) % mod return acc def min_const_diff(a, d, p, i, j): k = 0 v = 1 for l in range(i-1, j): if p[l] > 0: k += p[l] if d[l] == 0: v = pow_mod(a[l], p[l], 1000003, v) else: v = pow_mod(d[l], p[l], 1000003, v) v = factorial_mod(k, 1000003, v) return (k, v) def add_powers(p, i, j, v): for k in range(i-1, j): p[k] += v def answer_query(a, d, p): ints = read_ints() if ints[0] == 0: k, v = min_const_diff(a, d, p, ints[1], ints[2]) print('{:d} {:d}'.format(k, v)) elif ints[0] == 1: add_powers(p, ints[1], ints[2], ints[3]) def main(): n = int(sys.stdin.readline()) a, d, p = read_sequences(n) q = int(sys.stdin.readline()) for i in range(q): answer_query(a, d, p) if __name__ == '__main__': main()