import sys
import re

def count_indels(sequence):
    return len(re.findall(r'-+', sequence))

def parse_alignment(filename):
    with open(filename, 'r') as f:
        content = f.read()
    lines = content.split('\n')

    name1, name2 = None, None
    for line in lines:
        if line.startswith('# 1:'):
            name1 = line[4:].strip()
        elif line.startswith('# 2:'):
            name2 = line[4:].strip()
    if name1 and name2:
        seq1_parts, seq2_parts = [], []
        in_aln = False
        for line in lines:
            if line.startswith('#---------------------------------------'):
                in_aln = True
                continue
            if in_aln:
                if line.startswith('#'):
                    break
                if not line.strip():
                    continue
                parts = line.split()
                if parts and parts[0] == name1.split()[0]:
                    seq1_parts.append(parts[-1])
                elif parts and parts[0] == name2.split()[0]:
                    seq2_parts.append(parts[-1])
        return name1, name2, ''.join(seq1_parts), ''.join(seq2_parts)

    seq1_parts, seq2_parts = [], []
    for line in lines:
        if line.startswith('Query '):
            parts = line.split()
            if len(parts) >= 3:
                seq1_parts.append(parts[2])
        elif line.startswith('Sbjct '):
            parts = line.split()
            if len(parts) >= 3:
                seq2_parts.append(parts[2])
    if seq1_parts:
        name1 = "Query"
        name2 = "Sbjct"
        return name1, name2, ''.join(seq1_parts), ''.join(seq2_parts)

    sys.stderr.write("Ошибка: не удалось распознать формат файла\n")
    sys.exit(1)

def main():
    if len(sys.argv) != 2:
        sys.stderr.write("Используется: indels.py <файл>\n")
        sys.exit(1)
    name1, name2, seq1, seq2 = parse_alignment(sys.argv[1])
    i1, i2 = count_indels(seq1), count_indels(seq2)
    print(f"{name1} {i1}")
    print(f"{name2} {i2}")
    print(f"Total {i1 + i2}")

if __name__ == "__main__":
    main()
