# HJ63 DNA序列 - 你的变量风格+避坑注释版
# 题目:找出GC比例最高的、长度为n的子串,多个时输出第一个
str1 = input()
num1 = int(input())

# 步骤1:把所有长度为num1的子串都取出来,存到列表里
list1 = []
for i in range(0, len(str1)-num1+1):
    list1.append(str1[i:i+num1])

# ------------------- 关键:踩坑点1 -------------------
# 坑:之前把record写在for循环里面,每次都重置为0,导致和0比而不是和全局最大值比
# 正确做法:把记录最大值的变量写在循环外面,初始化-1(因为GC数不可能小于0)
max_count = -1  # 记录全局最高的GC数量
best_str = ""   # 记录当前GC最高的子串

# 步骤2:遍历所有子串,统计GC数并更新最大值
for s in list1:
    count = 0  # 每个子串单独计数,循环内重置是对的
    for j in s:
        if j == "C" or j == "G":
            count += 1

    # ------------------- 关键:踩坑点2 -------------------
    # 坑:之前用字典存{GC数: 子串},当多个子串GC数相同时,后面的会覆盖前面的
    # 坑:而且取结果时用reversed,顺序不可控,容易拿错
    # 正确做法:不用字典,只用两个变量记录最大值和对应的子串
    # 只在当前count>全局最大值时才更新,这样只会保留第一个出现的最大值
    if count > max_count:
        max_count = count
        best_str = s

# 步骤3:直接输出结果,没有多余操作
print(best_str)