#!/usr/bin/env python2.3

"""
Read a MAF from standard input and determine the mean length of ungapped pieces
in each block.

usage: %prog < maf > out
"""
from __future__ import division, print_function

import sys

import bx.align.maf


def main():

    for m in bx.align.maf.Reader(sys.stdin):

        ungapped_columns = 0
        ungapped_runs = 0
        in_ungapped = False

        for col in m.column_iter():
            is_gap = ('-' in col)
            if not is_gap:
                ungapped_columns += 1
            if in_ungapped and is_gap:
                ungapped_runs += 1
            in_ungapped = not is_gap
        if in_ungapped:
            ungapped_runs += 1

        print(ungapped_columns / ungapped_runs)


if __name__ == "__main__":
    main()
