hash_mark = {"D" => 1,"C" => 2,"H" => 3,"S" => 4} hash_number = Hash.new 2.upto(9){|i| hash_number[i.to_s] = i } hash_number.merge!({"A" => 1,"T" => 10,"J" => 11,"Q" => 12,"K" => 13}) gets cards = gets.chomp.split(" ") puts cards.sort_by{|a|hash_number[a[1]]}.sort_by{|b|hash_mark[b[0]]}.join(" ")