#!/usr/bin/env python
from __future__ import division
import sys
import os

items = []

def add_files(path, dev=None):
    try:
        statinfo = os.lstat(path)
    except OSError:
        return 0
    if dev is None:
        dev = statinfo.st_dev
    elif statinfo.st_dev != dev:
        return 0
    size = statinfo.st_size
    if statinfo.st_mode & int('170000', 8) == int('40000', 8):
        # directory
        try:
            for subpath in os.listdir(path):
                size += add_files(os.path.join(path, subpath), dev)
        except OSError:
            pass
    items.append((size, path))
    return size

def add_items():
    if len(sys.argv) > 1:
        add_files(sys.argv[1])
    else:
        for line in sys.stdin:
            size, filename = line.split('\t', 1)
            items.append((int(size), filename.rstrip('\n')))
add_items()

items.sort()

def print_items():
    for item in items[-128:]:
        size, filename = item
        if size > 1048576:
            if size > 1073741824:
                size = "%0.2fG" % (size / 1073741824)
            else:
                size = "%0.2fM" % (size / 1048576)
        else:
            if size > 1024:
                size = "%0.2fK" % (size / 1024)
        print size, filename
print_items()

