#include<bits/stdc++.h>
using namespace std;
int main() {
    string str;    //存放输入的字符串
    int len;    //存放子串长度
    cin>>str>>len;    //输入一个字符串和子串长度
    auto it = str.begin();    //迭代器初始指向字符串的开头
    vector<string> child_str;    //容器child_str存放所有子串
    vector<int> vec;    //容器vec存放每个子串中G和C的总数
    for(;str.end()-it>=len;it++) {    //从头到尾截取字符串str的子串,直到子串的长度小于len
        int loc=it-str.begin();    //loc表示当前迭代器指向位置对应字符串str的下标
        child_str.push_back(str.substr(loc,len));    //将起始位置为下标loc的子串添加到容器child_str中
        int count = 0;    //统计子串中G和C的总数
        for(int i=loc;i<loc+len;i++) {
            if(str[i] == 'G' || str[i] == 'C')
                count++;
        }
        vec.push_back(count);    //将当前子串中G和C的总数添加到容器vec中
    }
    auto it_1 = max_element(vec.begin(), vec.end());    //找到容器vec中出现的第一个最大值对应的地址
    cout<<child_str[it_1-vec.begin()]<<endl;    //输出这个地址对应的在容器vec中的下标,并获取child_str中该下标位置的字符串
    return 0;
}