import random def isprime(n): if n == 1: return False for i in range(2, int(n**0.5)+1): if n % i == 0: return False return True def RandomMod(l,r): ret = random.randrange(l, r) while not isprime(ret): ret = random.randrange(l, r) return ret s=input() N=len(s) memo=[1]*(N+1) vis=[0]*(N+1) def dfs(L,R): if vis[L]!=0: return memo[L] l,r=L,R while(l