#!/usr/local/bin/ruby
if ARGV.first == "-c"
  ARGV.shift; compact = true
else
  compact = false
end

dict = Hash.new{|h,k| h[k] = Array.new}

ARGF.each do |line|
  key, *contents = *line.split(/\t/)
  dict[key].concat(contents)
end

dict.each{|k, contents| contents.sort!; contents.uniq!} if compact

dict.sort.each{|k, contents| print k, "\t", contents.join("\t")}
