bazaT

Time limit: 0.1s Memory limit: 128MB Input: bazat.in Output: bazat.out

Se dau PP, NN, TT și CC și un șir aa de NN numere naturale în baza 10: a1a_1, a2,,aNa_2, \cdots, a_N.

Un număr se numește bazatbazat, dacă și numai dacă scris in baza TT, ultima cifră a acestui număr este CC.
Vom considera că cifrele în baza TT sunt 00, 11, 2,,T22, \cdots, T-2, T1T-1. De exemplu cifrele în baza 15 sunt: 0, 1, 2, \cdots 14.

De exemplu dacă TT = 6 și CC = 4: 44, 1010, 7070 sunt bazatebazate, deoarece numărul 4 transformat din baza 10 în baza 6 este 14, iar ultima cifră a acestuia este 4, numărul 10 transformat în baza 6 este 14, iar ultima cifră a lui 14 este 4, respectiv numărul 70, transformat în baza 6 este 154. Numerele 66, 2525 și 4444 nu sunt bazatebazate deoarece 66 = 10610_6 , 2525 = 41641_6 și 44=112644 = 112_{6}, acestea au ultima cifră diferită de 4.

Cerință

Dacă P=1P = 1, aflați câte numere bazatebazate sunt în șir.

Dacă P=2P = 2, aflați câte perechi (ii, jj) există astfel încat 1i<jN1 \leq i < j \leq N și aia_i + aja_j este bazatbazat.

Date de intrare

Pe prima linie a fișierului de intrare bazat.in se află patru numere naturale PP, NN, TT și CC separate printr-un spațiu. Pe cea de-a 2-a linie se află NN numere naturale separate prin câte un spațiu, reprezentând șirul aa.

Date de ieșire

Pe prima linie din fișierul de ieșire bazat.out se află un număr natural reprezentând raspunsul la cerința 11 dacă P=1P = 1, altfel la cerința 22.

Restricții și precizări

  • P=1P = 1 sau P=2P = 2
  • 1N100 0001 \leq N \leq 100 \ 000
  • 2T2 \leq T, 0C<T1090 \leq C < T \leq 10^9
  • 0ai1090 \leq a_i \leq 10^9, pentru oricare 1iN1 \leq i \leq N
  • Pentru 30 de puncte P=1P = 1
  • Pentru 20 de puncte P=2P = 2 și N2 000N \leq 2 \ 000
  • Pentru 30 de puncte P=2P = 2, N>2 000N > 2 \ 000 și T106T \leq 10^6

Exemplul 1

bazat.in

1 7 6 4
10 154 6 25 94 44 70

bazat.out

4

Exemplul 2

bazat.in

2 7 6 2
10 154 6 25 94 44 70

bazat.out

7

Explicații

În primul exemplu, numerele bazatebazate sunt 10,154,94,7010, 154, 94, 70.

În al doilea exemplu, perechile (ii, jj) sunt { (11, 22); (11, 55); (11, 77); (22, 55); (22, 77); (33, 66); (55, 77)}.

Acestea corespund sumelor {164164, 104104, 8080, 248248, 224224, 5050, 164164} .

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