Задача C. BLOSUM Scoring Matrices

Автор:М. Спорышев   Ограничение времени:8 сек
Входной файл:Стандартный вход   Ограничение памяти:1024 Мб
Выходной файл:Стандартный выход  

Условие

Дано N строк одинаковой длины L, состоящих из заглавных латинских букв (аминокислот). Требуется написать программу, вычисляющую BLOSUM Scoring Matrix для букв, встречающихся в заданном наборе строк.

Формат входных данных

Во входном файле содержатся N строк.

Формат выходных данных

Выходной файл должен содержать C строк, где C — это количество аминокислот (букв), встречающихся в строках.

i-я строка (нумерация с единицы) содержит i целых чисел — элементы BLOSUM матрицы. Вместо элементов матрицы, вычисление которых некорректно из-за отсутствия соответствующих пар во входных данных, требуется вывести 0.

Ограничения

N ≤ 5000

L ≤ 1000

Примеры тестов

Стандартный вход Стандартный выход
1
ACD
DCE
BCE
BCD
ACB
2
3 -1
0 0 3
1 1 0 -1
0 1 0 3 2
2
AAI
SAL
TAL
TAV
AAL
2
0 0
0 4 3
0 0 0 0
0 0 0 4 2
0 4 4 0 0 0

0.175s 0.012s 13