Fie şi două mulţimi de şiruri formate doar din litere mici ale alfabetului englez (de la a
la z
). Fie numărul şirurilor din mulţimea , iar numărul şirurilor din mulţimea .
Se spune că este o subsecvenţă a unui şir dacă există un număr natural astfel încât , .
Cerinţă
Scrieţi un program care să determine numărul şirurilor care sunt subsecvenţe ale tuturor şirurilor din , dar nu sunt subsecvenţe ale niciunui şir din .
Date de intrare
Fişierul de intrare sub.in
conţine pe prima linie un număr natural reprezentând numărul de şiruri din mulţimea . Următoarele linii conţin cele şiruri ale mulţimii , fiecare şir pe câte o linie. Linia a fişierului conţine un număr natural reprezentând numărul de şiruri din mulţimea . Următoarele linii conţin cele şiruri ale mulţimii , fiecare şir pe câte o linie.
Date de ieșire
Fişierul de ieşire sub.out
va conţine o singură linie pe care se va scrie o valoare naturală reprezentând numărul şirurilor care sunt subsecvenţe ale tuturor şirurilor din , dar nu sunt subsecvenţe ale niciunui şir din .
Restricții și precizări
- Lungimile şirurilor din mulţimile şi sunt numere cuprinse între şi .
Exemplu
sub.in
3
abcaf
bcaf
dbdafabcaf
3
bacbc
fbca
ca
sub.out
3
Explicație
Şirurile: a
, b
, c
, f
, bc
, ca
, af
, bca
, bcaf
, caf
sunt subsecvenţe ale tuturor şirurilor din A
. Dintre acestea şirurile: a
, b
, c
, f
, ca
, af
, bca
sunt subsecvenţe ale cel puţin unui şir din .
Rămân şiruri care sunt subsecvenţe ale tuturor şirurilor din , dar nu sunt subsecvenţe ale niciunui şir din : af
, caf
, bcaf
.