Algolymp Educational | Fibofest

This was the problem page during the contest. Access the current page here.
Time limit: 3s Memory limit: 64MB Input: Output:

Cerință

După foarte multe probleme rezolvate, ai ajuns la Fibofest și ești gata să te relaxezi. Din păcate, pentru a avea acces la toate distracțiile festivalului, trebuie mai întai să îi ajuți pe organizatori cu o listă de QQ întrebări. Inițial, organizatorii iți vor da un număr KK și două liste, a câte KK numere naturale fiecare, denumite AA și WW. Cu acestea, se va defini un șir infinit de numere, FF, după urmatoarele reguli:

  • FiF_i = AiA_i, pentru 1iK1 \leq i \leq K;
  • FiF_i = j=1KWjFij\sum_{j=1}^K W_j * F_{i - j}, pentru i>Ki > K;

Folosind informațiile de mai sus, obiectivul tău este să raspunzi la cele QQ întrebări, acestea având urmatoarea formă:
NN - Care este valoarea lui FNF_N modulo 1 000 000 0071 \ 000 \ 000 \ 007?

Date de intrare

Pe prima linie se găsește numărul KK.
Pe a doua linie se găsesc KK valori, reprezentând șirul AA.
Pe a treia linie se găsesc KK valori, reprezentând șirul WW.
Pe a patra linie se găsește numărul QQ.
Următoarele QQ linii vor conține fiecare câte un număr, NN, reprezentând întrebarea curentă.

Date de ieșire

Răspunsurile la cele QQ întrebari vor fi afișate câte unul pe linie, pentru un total de QQ linii în stdout.

Restricții și precizări

  • 1K,Q2001 \leq K, Q \leq 200;
  • 0Ai,Wi1 000 000 0000 \leq A_i, W_i \leq 1 \ 000 \ 000 \ 000;
  • 1Ni1 000 000 0001 \leq N_i \leq 1 \ 000 \ 000 \ 000;

Exemplu

stdin

2
0 1
1 1
5
6
4
5
3
7

stdout

5
2
3
1
8

Explicație

Șirul FF este șirul lui Fibonacci: 00, 11, 11, 22, 33, 55, 88, 1313, \dots.

Log in or sign up to be able to send submissions!