#!/usr/bin/env tclsh9.0 set lefts [list] set rights [list] foreach line [split [read stdin] \n] { if {$line eq ""} continue lassign $line l r lappend lefts $l lappend rights $r } foreach r $rights { incr count($r) } set total 0 foreach l $lefts { if {[info exists count($l)]} {set c $count($l)} else {set c 0} incr total [expr {$l * $c}] } puts $total