a = lambda n:((n+1)&0b11111111)
e = lambda n:((n&0b00010101)<<2)|((n&0b10101000)>>2)|((n&0b01000000)<<1)|((n&0b00000010)>>1)
u = lambda n:((n+0b11111111)&0b11111111)

exprs = [""]*256

exprs[0] = "z"

length = 1

while not all(exprs):
	for index,expr in enumerate(exprs):
		if len(expr) == length:
			candidate_a = a(index)
			candidate_e = e(index)
			candidate_u = u(index)
			if (not exprs[candidate_a]) or (length+1 < len(exprs[candidate_a])):
				exprs[candidate_a] = expr+"a"
			if (not exprs[candidate_e]) or (length+1 < len(exprs[candidate_e])):
				exprs[candidate_e] = expr+"e"
			if (not exprs[candidate_u]) or (length+1 < len(exprs[candidate_u])):
				exprs[candidate_u] = expr+"u"
	length += 1

for index,expr in enumerate(exprs):
	print("{:03d}".format(index)+" : "+expr)