subprop

Time limit: 1s Memory limit: 8MB Input: subprop.in Output: subprop.out

Se consideră o propoziţie formată din litere mici ale alfabetului englez şi eventual spaţii. Cuvintele sunt formate din litere mici şi sunt separate între ele prin unul sau mai multe spaţii.

Definim putereputere asociată unui cuvânt C1C2CkC_1 C_2 \dots C_k ca fiind un număr natural vv egal cu produsul puterilor de forma PiP^i, unde PP este poziţia în alfabet a literei CiC_i, i=1,,ki=1,\dots,k. Astfel cuvântului dab i se asociază putereaputerea egală cu v=411223=418v = 4^1 \cdot 1^2 \cdot 2^3 = 4 \cdot 1 \cdot 8, adică v=32v = 32, pentru că litera d este pe poziția 44, a pe poziția 11 și b pe poziția 22 în alfabet.

Definim valoareavaloarea unui cuvânt C1C2CkC_1 C_2 \dots C_k ca fiind numărul nrdnrd modulo kk, unde nrdnrd este numărul de divizori ai lui vv, vv fiind putereaputerea cuvântului CC. ValoareaValoarea cuvântului dab este 00, pentru că nrd=6nrd=6 (cei 1212 divizori ai lui 20482048 sunt: 11, 22, 44, 88, 1616, 3232), k=3k=3 (cuvântul conţine 33 litere) şi 66 modulo 3=03 = 0.

Definim valoareavaloarea unei propoziţii ca fiind suma valorilorvalorilor cuvintelor existente în ea.

Prin subpropozițiesubpropoziție vom înțelege o propoziție nouă formată din unele cuvinte ale propoziției inițiale.

Cunoscând un șir de NN numere x1,x2,,xNx_1, x_2, \dots, x_N ne interesează să verificăm dacă pentru fiecare număr xix_i, i=1,2,,Ni=1, 2, \dots, N există cel puțin o subpropoziție care să aibă valoarea xix_i (11 - există, 00 - nu există).

Cerință

Pentru o propoziție ca cea din enunț și NN numere naturale se cere:

  1. Valoarea primului cuvânt din propoziție
  2. Un șir de NN valori 00 sau 11 ce corespunde existenței sau nu a unei supropoziții în propoziția dată cu valorile din șirul de numere x1x_1, x2x_2, \dots, xNx_N.

Date de intrare

Pe prima linie a fișierului de intrare subprop.in se găsește cerința CC (11 sau 22), pe linia 22 propoziția, pe lina 33 numărul NN, iar pe ultima linie cele NN numere x1x_1, x2x_2, \dots, xNx_N separate prin câte un spațiu.

Date de ieșire

Pe prima linie a fișierului de ieșire subprop.out se va găsi un număr corespunzător cerinței 11, dacă C=1C = 1, respectiv un șir de NN cifre 00 sau 11 separete prin câte un spațiu corespunzător cerinței 22, dacă C=2C = 2.

Restricții și precizări

  • 1N10 0001 \leq N \leq 10 \ 000;
  • propoziția are cel mult 100 000100 \ 000 de caractere;
  • o propoziție are cel mult 10 000 10 \ 000 cuvinte și un cuvânt are cel mult 1 0001 \ 000 de litere;
  • x1x_1, x2x_2, \dots, xNx_N sunt numere naturale 50 000\leq 50 \ 000;
  • AA modulo kk reprezintă restul împărțirii lui AA la kk;
  • Pentru rezolvarea corectă a cerinței 11 se vor acorda 2020 de puncte.
  • Pentru rezolvarea corectă a cerinței 22 se vor acorda 8080 de puncte.

Exemplul 1

subprop.in

1
dab ac dacaa
3
2 3 1

subprop.out

0

Explicație

C=1C = 1. Valoarea primului cuvânt dab este 00.

Exemplul 2

subprop.in

2
dab ac dacaa
2
3 5 

subprop.out

1 0

Explicație

C=2C = 2. Valorile cuvintelor dab, ac și dacaa sunt 00, 11, respectiv 22. O subpropoziție cu valoarea 33 este formată din cuvintele ac și dacaa. Nu există subpropoziție cu valoarea 55.

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