//package cookoff;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Department : cookoff
* Given Birth by V0!D on 22/10/17
* Always Be Grateful to V0!D Kid !!
*/
class CountingTest {
public static char NULL = '\b';
static Map
<Integer, Long
> factDP
= new HashMap
<>();
public static long factorial(int n) {
if (n == 1 || n == 0)
return 1;
if (factDP.containsKey(n))
return factDP.get(n);
long fact = n*(factorial(n - 1));
factDP.put(n, fact);
return fact;
}
int t
=Integer.
parseInt(in.
readLine()); while(t-->0){
char start,mid;
start = s.charAt(0);
mid = NULL;
long count = 0;
Matcher matcher = Pattern.compile("(.)\\1+").matcher(s);
while (matcher.find()){
int len = matcher.group().length();
count+=factorial(len-1);
}
for (int i = 1; i <s.length() ; i++) {
char curr = s.charAt(i);
if(mid==NULL){
if(curr==start) {
continue;
}
mid = curr;
continue;
}
if(curr==mid)
continue;
if(curr==start){
count++;
}
//STOPS ABRUPTLY
start=mid;
mid = curr;
}
}
}
}
Ly9wYWNrYWdlIGNvb2tvZmY7CiAKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEubWF0aC5CaWdJbnRlZ2VyOwppbXBvcnQgamF2YS51dGlsLkhhc2hNYXA7CmltcG9ydCBqYXZhLnV0aWwuTWFwOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKIAovKioKICogRGVwYXJ0bWVudCA6IGNvb2tvZmYKICogR2l2ZW4gQmlydGggYnkgVjAhRCBvbiAyMi8xMC8xNwogKiBBbHdheXMgQmUgR3JhdGVmdWwgdG8gVjAhRCBLaWQgISEKICovCmNsYXNzIENvdW50aW5nVGVzdCB7CiAgICBwdWJsaWMgc3RhdGljIGNoYXIgTlVMTCA9ICdcYic7CiAgICBzdGF0aWMgTWFwPEludGVnZXIsIExvbmc+IGZhY3REUCA9IG5ldyBIYXNoTWFwPD4oKTsKIAogICAgcHVibGljIHN0YXRpYyBsb25nIGZhY3RvcmlhbChpbnQgbikgewogICAgICAgIGlmIChuID09IDEgfHwgbiA9PSAwKQogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICBpZiAoZmFjdERQLmNvbnRhaW5zS2V5KG4pKQogICAgICAgICAgICByZXR1cm4gZmFjdERQLmdldChuKTsKICAgICAgICBsb25nIGZhY3QgPSBuKihmYWN0b3JpYWwobiAtIDEpKTsKICAgICAgICBmYWN0RFAucHV0KG4sIGZhY3QpOwogICAgICAgIHJldHVybiBmYWN0OwogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBCdWZmZXJlZFJlYWRlciBpbiA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgICAgaW50IHQgPUludGVnZXIucGFyc2VJbnQoaW4ucmVhZExpbmUoKSk7CiAgICAgICAgd2hpbGUodC0tPjApewogICAgICAgICAgICBTdHJpbmcgcyA9IGluLnJlYWRMaW5lKCk7CiAgICAgICAgICAgIGNoYXIgc3RhcnQsbWlkOwogICAgICAgICAgICBzdGFydCA9IHMuY2hhckF0KDApOwogICAgICAgICAgICBtaWQgPSBOVUxMOwogICAgICAgICAgICBsb25nIGNvdW50ID0gMDsKICAgICAgICAgICAgTWF0Y2hlciBtYXRjaGVyID0gUGF0dGVybi5jb21waWxlKCIoLilcXDErIikubWF0Y2hlcihzKTsKICAgICAgICAgICAgd2hpbGUgKG1hdGNoZXIuZmluZCgpKXsKICAgICAgICAgICAgICAgIGludCBsZW4gPSBtYXRjaGVyLmdyb3VwKCkubGVuZ3RoKCk7CiAgICAgICAgICAgICAgICBjb3VudCs9ZmFjdG9yaWFsKGxlbi0xKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8cy5sZW5ndGgoKSA7IGkrKykgewogICAgICAgICAgICAgICAgY2hhciBjdXJyID0gcy5jaGFyQXQoaSk7CiAgICAgICAgICAgICAgICBpZihtaWQ9PU5VTEwpewogICAgICAgICAgICAgICAgICAgIGlmKGN1cnI9PXN0YXJ0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBtaWQgPSBjdXJyOwogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoY3Vycj09bWlkKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYoY3Vycj09c3RhcnQpewogICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvL1NUT1BTIEFCUlVQVExZCiAgICAgICAgICAgICAgICBzdGFydD1taWQ7CiAgICAgICAgICAgICAgICBtaWQgPSBjdXJyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihjb3VudCk7CiAgICAgICAgfQogICAgfQp9IA==