#!/usr/bin/python3
# Encoding: utf8

# INPUT: non-zero matrix with frequencies
# OUTPUT: a non-zero matrix with punctual mutual information values


import sys
import re
import math
from collections import defaultdict

##initializing three dictionaries and two variables:
pair = defaultdict(int)  
w = defaultdict(int)
c = defaultdict(int)
n=0;
fr=0;

##computing punctual mutual information
def pmi (joint, wo, co):
    if  n:
        output = math.log  ( (joint / n)  /  ( (w[wo]/n)*(c[co]/n) )  ) 
    else:
        output = 0
    return output

for line in sys.stdin:  
    line = line.strip()
    line = line.split()
    if len(line) >= 3:
        word = line[0]
        context = line[1]
        fr =  float(line[2]) ##as the number is read as a string, it is converted into float
        
        w[word] += fr
        c[context] += fr
        pair[word,context] = fr        
        n += fr
        #print >> sys.stderr, word, context, fr, n, w[word]

for word,context in sorted(pair):
    assoc = pmi(pair[word,context],word,context)
    if assoc > 0:
        print ('%s\t%s\t%.6f' % (word, context, assoc))
        
