from itertools import combinations def count_cpctf_like_subsequences(S): N = len(S) count = 0 for i, j, k, l, m in combinations(range(N), 5): s1, s2, s3, s4, s5 = S[i], S[j], S[k], S[l], S[m] if s1 == s3: if len(set([s1, s2, s4, s5])) == 4: # s1とs3が同じで、他が全て異なれば条件を満たす count += 1 return count