Ens donen una matriu M de mida n×m de lletres majúscules o minúscules, és a dir, n strings amb m caràcters pertanyents als codis ASCII [’a’,…,’z’]∪[’A’,…,’Z’]. Per a cada posició (i,j) de M hi trobem un cert caràcter. Volem sumar el nombre de vegades que apareix aquest caràcter en minúscula a la fila i, més el nombre de vegades que apareix aquest caràcter en majúscula a la columna j.
Per exemple, considereu la següent matriu de caràcters:
BceaDc BBFbaa FafbfE AABbff
Indexant des de 0, a la posició (2,2) hi ha una f. A la fila 2 hi tenim els caràcters F,a,f,b,f,E i per tant hi han 2 ocurrències de f (minúscula). A la columna 2 hi tenim els caràcters e,F,f,B, i per tant hi ha 1 ocurrència de F (majúscula). En total, 2+1=3 ocurrències.
Veiem un altre exemple amb la matriu anterior: a la posició (1,3) hi ha una b. A la fila 1 hi tenim els caràcters B,B,F,b,a,a i per tant hi ha 1 ocurrència de b (minúscula). A la columna 3 hi tenim els caràcters a,b,b,b, i per tant hi han 0 ocurrències de B (majúscula). En total, 1+0=1 ocurrència.
Entrada
La primera línia de l’entrada té dos valors positius n,m separats per un espai que representen les mides de la matriu M. A continuació venen n línies amb strings de longitud m, a on cada string conté caràcters amb codis ASCII de [’a’,…,’z’]∪[’A’,…,’Z’], el contingut de la matriu M.
Sortida
La sortida té n línies. Cada línia té m valors naturals separats per espais. La sortida representa una matriu n×m de naturals. El valor de la posició (i,j) és la suma del nombre d’ocurrències del caràcter M[i][j] en minúscula a la fila i de M, més el nombre d’ocurrències del caràcter M[i][j] en majúscula a la columna j de M.
Observació
Per a superar uns quants jocs de proves i obtenir una nota acceptable podeu fer un programa senzill. Però per a superar tots els jocs de proves convindrà pensar en alguna optimització raonable.
Input
4 6 BceaDc BBFbaa FafbfE AABbff
Output
2 2 1 1 1 2 3 2 1 1 2 2 3 2 3 1 2 1 1 1 2 1 2 2
Input
1 20 fcbEcJgbBhFFIgDBdcji
Output
1 3 2 1 3 2 2 2 3 1 2 2 2 2 2 3 1 3 1 1
Input
20 1 G c b I a c c E A d h F h b G e e G i G
Output
4 1 1 1 2 1 1 1 1 1 1 1 1 1 4 2 2 4 2 4
Input
20 20 IGpQVxdNKQiuSVIOKdYC QDMKmvRENYMOnZLHBwHm iRAMYNcMVDmlYDtCAFsU gGkcFPRhLzfKWJiIMzKE IjWteoWqpLhPMssOrEPX TgOkbEqGjbXIogNAtyio FuPcaGuqcpCXZFHSrkoj RRDXEwfDrPgNyGlDgtEs gsKTIdVrPIrIKNtAYorP tvJkpfgIrGemaoMXYwIJ bgExNHjAYHwrzdXHfgGI jqniJVvAdexAbqoeQtmP sEakMdCOQpeFRbcedkOG LOTxInKmSJdTZMaTgDMk rLREmifBJVKzZUFKeZvk WzYkSUxxZkxfUbMAioer gDFcuNJxYwMXzCKEgVjs nXbevpZdaIccvWxIylcC TEFVQRrDvTsJLtnLozBB coqITJHeqGUkoEILBhTI
Output
3 2 2 1 1 1 2 1 1 1 1 1 1 1 3 2 1 3 1 2 1 2 3 1 3 2 2 1 2 1 4 1 1 1 1 2 2 1 1 2 3 2 1 2 1 2 2 2 1 1 3 1 1 1 1 2 1 1 1 1 1 3 2 1 2 1 2 1 1 2 1 2 1 1 3 3 1 3 2 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 3 1 2 2 1 3 4 3 2 2 1 1 3 2 2 1 3 2 3 1 3 1 1 2 2 1 2 2 2 1 1 2 1 2 2 3 2 3 1 1 1 1 1 2 2 2 3 1 1 1 1 1 2 1 1 2 1 2 3 2 1 2 1 1 1 1 1 1 2 2 1 1 3 1 2 3 2 1 1 1 3 2 1 3 2 3 1 1 2 1 1 1 1 1 3 1 1 1 1 3 1 2 1 1 1 1 4 1 2 1 1 2 2 2 1 1 1 4 2 2 2 1 2 3 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 3 3 1 2 2 1 4 2 3 1 2 2 1 1 2 2 1 1 1 1 3 2 2 1 1 1 1 1 2 2 3 2 2 1 1 1 1 3 2 1 1 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 1 4 1 2 2 1 2 1 1 1 1 1 3 1 1 3 3 2 2 4 2 1 1 2 3 1 1 2 1 2 2 2 1 1 2 2 1 2 1 2 3 4 2 1 1 2 1 1 1 1 2 1 2 3 2 1 3 1 2 4 3 2 1 2 2 3 1 3 5 3 2 2 2 1 2 3 2 2 2 1 1 1 1 2 2 1 2 1 1 1 3 2 1 1 1 2 2 3 2 1 2 2 2 2 2 2 1 1 2