#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;
}