while True:
try:
s=input()
n=int(input())
res=0
index=0
for i in range(0,len(s)-n+1):
GC_Ratio=s.count('G',i,i+n)+s.count('C',i,i+n)
if GC_Ratio>res:
res=GC_Ratio
index=i
print(s[index:index+n])
except:
break
#为什么只通过20%,问题在哪?
while True:
try:
s=input()
n=int(input())
res=0
index=0
for i in range(0,len(s)-n+1):
temp=[]
for j in range(i,i+n):
temp.append(s[j])
GC_Ratio=temp.count('G')+temp.count('C')
if GC_Ratio>res:
res=GC_Ratio
index=i
print(s[index:index+n])#问题在这...太粗心了,之前写成print(s[index:n])了
except:
break #include <iostream>
#include <string>
using namespace std;
int main(){
string s;
int n;
while(cin >> s >> n){
int res=0,index=0;
for(int i=0;i<=s.size()-n;i++){
int GC_Ratio=0;
for(int j=i;j<i+n;j++){
if(s[j]=='G' || s[j]=='C')
GC_Ratio++;
}
if(GC_Ratio>res){
res=GC_Ratio;
index=i;
}
}
cout << s.substr(index,n) << endl;//substr()函数第二个参数指的是子串的长度
}
return 0;
}