gets.to_i.times{
	array=gets.chomp.split("0").map{|e|e.to_i}
	array.delete 0
	strInfo=[]

	array.length.times{|t|
		strInfo.push [array[t].to_s[0].to_i,array[t].to_s.length]
	}

	str=""
	strInfo.each{|e|
		if e[0]==1
			str.concat "." if e[1]%5==1
			str.concat "," if e[1]%5==2
			str.concat "!" if e[1]%5==3
			str.concat "?" if e[1]%5==4
			str.concat " " if e[1]%5==0
		elsif e[0]==2
			str.concat "a" if e[1]%3==1
			str.concat "b" if e[1]%3==2
			str.concat "c" if e[1]%3==0
		elsif e[0]==3
			str.concat "d" if e[1]%3==1
			str.concat "e" if e[1]%3==2
			str.concat "f" if e[1]%3==0
		elsif e[0]==4
			str.concat "g" if e[1]%3==1
			str.concat "h" if e[1]%3==2
			str.concat "i" if e[1]%3==0
		elsif e[0]==5
			str.concat "j" if e[1]%3==1
			str.concat "k" if e[1]%3==2
			str.concat "l" if e[1]%3==0
		elsif e[0]==6
			str.concat "m" if e[1]%3==1
			str.concat "n" if e[1]%3==2
			str.concat "o" if e[1]%3==0
		elsif e[0]==7
			str.concat "p" if e[1]%4==1
			str.concat "q" if e[1]%4==2
			str.concat "r" if e[1]%4==3
			str.concat "s" if e[1]%4==0
		elsif e[0]==8
			str.concat "t" if e[1]%3==1
			str.concat "u" if e[1]%3==2
			str.concat "v" if e[1]%3==0
		elsif e[0]==9
			str.concat "w" if e[1]%4==1
			str.concat "x" if e[1]%4==2
			str.concat "y" if e[1]%4==3
			str.concat "z" if e[1]%4==0
		end





	}

	puts str
}