# 난이도: 실버 5
# 알고리즘 유형: 문자열, 정렬
"""
시작시간: 01:58
종료시간: 02:29
"""
n = int(input())
# key=문자, value=해당 문자열의 길이
arr = dict()
for _ in range(n):
a = input()
arr[a] = len(a)
# 길이를 바탕으로 먼저 정렬하고, 사전순으로 정렬
arr = sorted(arr.items(), key=lambda x: (x[1], x[0]))
# key값만 출력
for k in arr:
print(k[0])
# 난이도: 브론즈 1
# 알고리즘 유형: 구현, 문자열
"""
시작시간: 02:30
종료시간: 02:42
"""
while True:
a = list(input())
if a == ["0"]:
break
# 길이가 홀수일 때
if len(a) % 2:
# 가운데 수를 빼고 양 옆으로 같은지 판별(우측은 역순으로 만들고 슬라이싱)
if a[: len(a) // 2] == a[: len(a) // 2 : -1]:
print("yes")
else:
print("no")
# 길이가 짝수일 때
else:
# 절반을 기준으로 양 옆으로 같은지 판별(우측은 역순으로 만들고 슬라이싱)
if a[: len(a) // 2] == a[: len(a) // 2 - 1 : -1]:
print("yes")
else:
print("no")