# 定義撲克牌數字大小順序
value_order = {'K': 13, 'Q': 12, 'J': 11, 'A': 1}
# 花色大小順序
suit_order = {'S': 4, 'H': 3, 'D': 2, 'C': 1}
# 將撲克牌數字轉換為便於比較的整數值
def card_value(card):
if card in value_order:
return value_order[card]
return int(card)
# 讀取輸入
n = int(input()) # 讀取第一行的數字 N
cards = input().split() # 讀取第二行的 2N 個字符
m = int(input()) # 讀取第三行的數字 M
# 將牌組轉換為 (花色, 數字) 的列表
deck = [(cards[i], cards[i+1]) for i in range(0, 2*n, 2)]
# 定義排序規則
def card_key(card):
suit, value = card
return (card_value(value), suit_order[suit])
# 排序牌組
deck.sort(key=card_key, reverse=True)
# 找到第 M 大的牌
mth_card = deck[m-1]
print(mth_card[0], mth_card[1])