영우와 '갓4'

캐릭터와 점화식으로 생성되는 몬스터 열이 주어질 때, 캐릭터가 N마리를 순서대로 모두 이기는지 판정하고 최종 능력치 또는 -1을 출력한다.

보통6시뮬레이션수학구현정수론아직 제출이 없습니다시간 제한1.5초메모리 제한512 MB

문제

영우는 오늘도 '갓4'라는 게임을 한다. '갓4'에서 캐릭터와 몬스터에게는 각각 공격력 AA, 방어력 DD, 최대 체력 HH가 정해져 있다. 전투는 항상 1:1로 진행하며 규칙은 다음과 같다.

  1. 자기 턴이 오면 상대를 공격한다. 이때 상대의 체력은 (공격하는 쪽의 공격력 - 맞는 쪽의 방어력)과 11 중 더 큰 값만큼 줄어든다.
  2. 공격이 끝나면 턴이 상대에게 넘어간다.
  3. 어느 한쪽의 체력이 00 이하가 될 때까지 반복하고, 체력이 먼저 00 이하로 떨어진 쪽이 진다.
  4. 모든 전투는 영우의 캐릭터가 먼저 공격한다.

몬스터를 이기면 캐릭터는 그 몬스터의 능력치를 그대로 흡수한다. 즉 능력치가 (5,5,5)(5, 5, 5)인 캐릭터가 (1,1,1)(1, 1, 1)인 몬스터를 이기면 능력치는 (6,6,6)(6, 6, 6)이 된다. 또 전투에서 이길 때마다 캐릭터의 체력은 최대치까지 회복되므로, 모든 전투는 최대 체력으로 시작한다.

영우는 몬스터 NN마리를 한 번도 지지 않고 연속해서 잡으려 한다. 모든 전투에서 이겨야 한다는 뜻이다. 몬스터 NN마리의 데이터를 전부 입력으로 주면 크기가 너무 커지므로, k>1k > 1kk번째 몬스터의 능력치는 다음 식으로 정한다.

Ak=((Ak1×Ap+Aa)mod100)+1A_k = ((A_{k-1} \times A_p + A_a) \bmod 100) + 1

Dk=((Dk1×Dp+Da)mod3)+1D_k = ((D_{k-1} \times D_p + D_a) \bmod 3) + 1

Hk=((Hk1×Hp+Ha)mod1000)+1H_k = ((H_{k-1} \times H_p + H_a) \bmod 1000) + 1

입력

입력은 표준 입력으로 받는다.

첫째 줄에 몬스터의 수 NN이 주어진다. (1N5×1071 \le N \le 5 \times 10^7)

둘째 줄에 영우가 키우는 캐릭터의 공격력 AA, 방어력 DD, 최대 체력 HH가 차례대로 주어진다. (1A1001 \le A \le 100, 1D31 \le D \le 3, 1H10001 \le H \le 1000)

셋째 줄에 첫 번째 몬스터의 공격력 A1A_1, 방어력 D1D_1, 최대 체력 H1H_1이 차례대로 주어진다. (1A11001 \le A_1 \le 100, 1D131 \le D_1 \le 3, 1H110001 \le H_1 \le 1000)

넷째 줄에 몬스터의 능력치를 만드는 데 쓰는 값 ApA_p, AaA_a, DpD_p, DaD_a, HpH_p, HaH_a가 차례대로 주어진다. (1Ap,Dp,Hp1091 \le A_p, D_p, H_p \le 10^9, 0Aa990 \le A_a \le 99, 0Da20 \le D_a \le 2, 0Ha9990 \le H_a \le 999)

출력

출력은 표준 출력으로 한다.

영우가 몬스터 NN마리를 모두 잡았다면 캐릭터의 최종 능력치를 공격력, 방어력, 최대 체력 순으로 공백 하나로 구분해 한 줄에 출력한다. 세 값은 각각 109+710^9 + 7로 나눈 나머지를 출력한다.

도중에 한 번이라도 지면 첫째 줄에 -1만 출력한다.