t = int(input())
for i in range(t):
n, c = input().split()
n = int(n)
s = input()
if c == "g":
print(0)
else:
firstGreen = -1
r = -1
maxminc = 0
for j in range(len(s)):
if s[j] == 'g' and firstGreen == -1:
firstGreen = j
elif s[j] == c:
if j < r:
maxminc = max(maxminc, r - j)
elif r == len(s):
maxminc = max(maxminc, n - j + firstGreen)
else:
for i in range(j + 1, len(s)):
if s[i] == 'g':
r = i
break
if r < j + 1:
r = len(s)
maxminc = max(maxminc, n - j + firstGreen)
else:
maxminc = max(maxminc, r - j)
print(maxminc)
1430C - Numbers on Whiteboard | 1697B - Promo |
208D - Prizes Prizes more Prizes | 659A - Round House |
1492C - Maximum width | 171B - Star |
1512B - Almost Rectangle | 831B - Keyboard Layouts |
814A - An abandoned sentiment from past | 268C - Beautiful Sets of Points |
1391C - Cyclic Permutations | 11A - Increasing Sequence |
1406A - Subset Mex | 1365F - Swaps Again |
50B - Choosing Symbol Pairs | 1719A - Chip Game |
454B - Little Pony and Sort by Shift | 1152A - Neko Finds Grapes |
1719B - Mathematical Circus | 1719C - Fighting Tournament |
1642A - Hard Way | 285C - Building Permutation |
1719E - Fibonacci Strings | 1696C - Fishingprince Plays With Array |
1085A - Right-Left Cipher | 1508B - Almost Sorted |
1690C - Restoring the Duration of Tasks | 1055A - Metro |
1036D - Vasya and Arrays | 1139C - Edgy Trees |