require 'yaml'
class String
def dequote
return Integer( self ) rescue nil;
return Float( self ) rescue nil;
return self.sub( /^"(.*)"$/ ){ $1 };
end
end
print YAML.dump( STDIN.readlines.collect{|l|
a = l.split( / *: */ ).map( &:dequote );
{ :name => a[0],
:hw => a[1].split( / *; */ ).map{|x|
a = x.split( / *, */ ).map( &:dequote );
{ :h => a[0], :w => a[1] } } };
} );
cmVxdWlyZSAneWFtbCcKCmNsYXNzIFN0cmluZwogIGRlZiBkZXF1b3RlCiAgICByZXR1cm4gSW50ZWdlciggc2VsZiApIHJlc2N1ZSBuaWw7CiAgICByZXR1cm4gRmxvYXQoIHNlbGYgKSByZXNjdWUgbmlsOwogICAgcmV0dXJuIHNlbGYuc3ViKCAvXiIoLiopIiQvICl7ICQxIH07CiAgZW5kCmVuZAoKcHJpbnQgWUFNTC5kdW1wKCBTVERJTi5yZWFkbGluZXMuY29sbGVjdHt8bHwKICBhID0gbC5zcGxpdCggLyAqOiAqLyApLm1hcCggJjpkZXF1b3RlICk7CiAgeyA6bmFtZSA9PiBhWzBdLAogICAgOmh3ID0+IGFbMV0uc3BsaXQoIC8gKjsgKi8gKS5tYXB7fHh8CiAgICAgIGEgPSB4LnNwbGl0KCAvICosICovICkubWFwKCAmOmRlcXVvdGUgKTsKICAgICAgeyA6aCA9PiBhWzBdLCA6dyA9PiBhWzFdIH0gfSB9Owp9ICk7Cg==
JnF1b3Q75bGx55SwJnF1b3Q7IDogMTczLCA2MCA7IDE3NiwgNjEKJnF1b3Q75L2Q6JekJnF1b3Q7IDogMTM3LCA0MCA7IDE3NiwgMTY=
"山田" : 173, 60 ; 176, 61
"佐藤" : 137, 40 ; 176, 16