write a go solution for Description: A binary string^dagger b of odd length m is good if b_i is the median^ddagger of b[1,i]^S for all odd indices i (1<=i<=m). For a binary string a of length k, a binary string b of length 2k-1 is an extension of a if b_2i-1=a_i for all i such that 1<=i<=k. For example, 1001011 and 1101001 are extensions of the string 1001. String x=1011011 is not an extension of string y=1001 because x_3neqy_2. Note that there are 2^k-1 different extensions of a. You are given a binary string s of length n. Find the sum of the number of good extensions over all prefixes of s. In other words, find sum_i=1^nf(s[1,i]), where f(x) gives number of good extensions of string x. Since the answer can be quite large, you only need to find it modulo 998,244,353. ^dagger A binary string is a string whose elements are either mathtt0 or mathtt1. ^ddagger For a binary string a of length 2m-1, the median of a is the (unique) element that occurs at least m times in a. ^S a[l,r] denotes the string of length r-l+1 which is formed by the concatenation of a_l,a_l+1,ldots,a_r in that order. Input Format: Each test contains multiple test cases. The first line contains the number of test cases t (1<=t<=10^4). The description of the test cases follows. The first line of each test case contains a single integer n (1<=n<=2*10^5), where n is the length of the binary string s. The second line of each test case contains the binary string s of length n. It is guaranteed that the sum of n over all test cases does not exceed 2*10^5. Output Format: For each test case, print the answer modulo 998,244,353. Note: In the first and second test cases, f(s[1,1])=1. In the third test case, the answer is f(s[1,1])+f(s[1,2])=1+2=3. In the fourth test case, the answer is f(s[1,1])+f(s[1,2])+f(s[1,3])=1+1+1=3. f(mathtt11)=2 because two good extensions are possible: 101 and 111. f(mathtt01)=1 because only one good extension is possible: 011.. Output only the code with no comments, explanation, or additional text.