Problem:
 Score : 200 points    Problem Statement A string S of an odd length is said to be a strong palindrome if and only if all of the following conditions are satisfied:   S is a palindrome.  Let N be the length of S . The string formed by the 1 -st through ((N-1)/2) -th characters of S is a palindrome.  The string consisting of the (N+3)/2 -st through N -th characters of S is a palindrome.   Determine whether S is a strong palindrome.      Constraints  S consists of lowercase English letters.  The length of S is an odd number between 3 and 99 (inclusive).         Input Input is given from Standard Input in the following format:  S       Output If S is a strong palindrome, print Yes ;
otherwise, print No .        Sample Input 1 akasaka      Sample Output 1 Yes   S is akasaka .  The string formed by the 1 -st through the 3 -rd characters is aka .  The string formed by the 5 -th through the 7 -th characters is aka .
All of these are palindromes, so S is a strong palindrome.        Sample Input 2 level      Sample Output 2 No       Sample Input 3 atcoder      Sample Output 3 No

Solution (Python):
def is_kaibun(s):
  s_len = len(s)
  is_kaibun = True
  for i in range(s_len//2):
    is_kaibun *= (s[i] == s[-(i+1)])
  return is_kaibun

s = input()
N = len(s)
s1 = s[:(N+1)//2-1]
s2 = s[(N+3)//2-1:]
if is_kaibun(s) and is_kaibun(s1) and is_kaibun(s2):
  print("Yes")
else:
  print("No")

Solution (Python):
S=list(input())
N=len(S)
tsuyoikaibun=0
kaibun=0
for i in range((N-1)//2):
    if S[i]==S[(N-1)//2-i-1]and S[(N+1)//2+i]==S[N-i-1]: 
        tsuyoikaibun=tsuyoikaibun+1
    else:
        tsuyoikaibun=0
        break
for i in range (N):
    if S[i]==S[N-i-1]:
        kaibun=kaibun+1
    else:
        kaibun=0
        break
 
if kaibun==0 or tsuyoikaibun==0:
        print("No")
else:
        print("Yes")

Solution (Python):
def IsPalindrome(s):
    return s == s[::-1]


s = input()
n = len(s)
print("Yes" if IsPalindrome(s) and IsPalindrome(s[:(n - 1) // 2]) and IsPalindrome(s[(n + 1) // 2:]) else "No")

Solution (Python):
s= input()
flag = True
for i in range((len(s)-1)//2):
	if s[i] == s[len(s)-i-1]:
		continue
	else:
		flag = False
		break

if flag:
	left = s[:(len(s)-1)//2]
	right = s[(len(s)+3)//2-1:]
	if left == right:
		print("Yes")
	else:
		print("No")
else:
	print("No")

Solution (Python):
S = input()

flag = 1
for i in range(0,(len(S) - 1)//2 ):
	if S[i] != S[len(S) -1 -i]:
		flag = 0
	



for i in range(0,((len(S)- 1)//2-1 )//2):
	if S[i] !=  S[(len(S) -1 )//2 -1 -i]:
		flag=0
	



for i in range((len(S) - 1)//4):
	if S[(len(S) + 3)//2-1+i] !=  S[len(S) -1-i]:
		flag=0
	


if flag == 1:
	print("Yes")
else:
	print("No")

Solution (Python):
s = input()
d = len(s)//2
print("Yes" if s[:d] == s[d+1:] else "No")

Solution (Python):
import sys
input = lambda: sys.stdin.readline().rstrip()
from collections import deque

S = input()

if S[::-1]== S:
    front = S[:len(S)//2]
    if front == front[::-1]:
        print('Yes')
        exit()
print('No')

Solution (Python):
S=list(input())
N=len(S)
tsuyoikaibun=0
kaibun=0
for i in range((N-1)//2):
    if S[i]==S[(N-1)//2-i-1]and S[(N+1)//2+i]==S[N-i-1]: 
        tsuyoikaibun=tsuyoikaibun+1
    else:
        tsuyoikaibun=0
        break
for i in range (N):
    if S[i]==S[N-i-1]:
        kaibun=kaibun+1
    else:
        kaibun=0
        break

if kaibun==0 or tsuyoikaibun==0:
        print("No")
else:
        print("Yes")

Solution (Python):
S = input()
N = len(S)
if S[:N//2] == S[N//2+1:] and S[0] == S[(N-1)//2-1] and S[N-1] == S[(N+3)//2-1]:
    print("Yes")
else:
    print("No")

Solution (Python):
S = input()

N = len(S)

A = int(N//2)
B = int((N+1)//2)
flag = True
if S[0:A] == S[B:N][::-1]:
    N = A
    A = int(N // 2)
    B = int((N + 1) // 2)
    if S[0:A] == S[B:N][::-1]:
        print("Yes")
        flag = False

if flag:
    print("No")

Solution (Python):
s = input()
slist = []
for i in range(len(s)):
    slist.append(s[i])

def isKaibun(s): 
    s2 = s[:]
    s2.reverse()
    if s == s2:
        return 1
    return 0

if isKaibun(slist) and isKaibun(slist[:(len(slist)-1)//2]) and isKaibun(slist[(len(slist)+3)//2 -  1:]):
    print('Yes')
    exit()
print('No')

Solution (Python):
s = input()
n = len(s)
T = s[0:((n-1)//2)]

U = s[(n+3)//2-1:n]

if s == s[::-1] and T == T[::-1] and U == U[::-1]:
    print('Yes')
else:
    print('No')

Solution (Python):
def ispalindrome(str):
    if str==str[::-1]:
        return 1
    else:
        return 0

S=input()
N=len(S)
score=0
score += ispalindrome(S)
score += ispalindrome(S[0:int((N-1)/2):1])
score += ispalindrome(S[int((N+3)/2):N-1:1])

if score==3:
    print("Yes")
else:
    print("No")

Solution (Python):
S = input()

zyouken1 = S[0:(len(S)-1)//2]
zyouken2 =S[(len(S)+2)//2:len(S)]


if (S == S[::-1]) and  (zyouken1 == zyouken1[::-1]) and (zyouken2 == zyouken2[::-1]):
    print("Yes")
else:
    print("No")

Solution (Python):
def main():
    S = input()
    str = S[0:len(S) // 2]
    flg = S == "".join(list(reversed(S))) \
        and str == "".join(list(reversed(str)))
    print("Yes" if flg else "No")
    return


main()

Solution (Python):
s = input()

result = 'Yes'
j = int((len(s)-1)/2)

for i in range(j):
    if(s[i] != s[len(s)-i-1]):
        result = 'No'
        break

if(result !='No'):
    for i in range(int(j/2)):
        if(s[i] != s[j-i-1]):
            result = 'No'
            break

if(result !='No'):
    for i in range(int(j/2)):
        if(s[i+j+1] != s[len(s)-i-1]):
            result = 'No'
            break

print(result)

Solution (Python):
def main(args):
	user_input = str(input())
	x = int((len(user_input)-1)/2)
	y = int((len(user_input)+3)/2)
	if len(user_input) < 3 or len(user_input) > 99:
		print("No")
	else:
		modx_ui = user_input[0:x]
		mody_ui = user_input[y-1:]
		if user_input == user_input[::-1] and modx_ui == modx_ui[::-1] and mody_ui == mody_ui[::-1]:
			print("Yes")
		else:
			print("No")
  

if __name__ == '__main__':
    import sys
    sys.exit(main(sys.argv))

Solution (Python):
S = list(input())
N = len(S)
s1 = S[:int((N-1)/2):]
s2 = S[int(((N+3)/2)-1):int(N):]
if S == S[::-1] :
    if s1 == s1[::-1] and s2 == s2[::-1] :
        print("Yes")
    else:
        print("No")
else:
    print("No")

Solution (Python):
s=input()
sl=len(s)

def kaibun(ss):
  for i in range(len(ss)//2):
    if ss[i]!=ss[-1-i]:
      print('No')
      exit()

kaibun(s)
kaibun(s[:sl//2])
kaibun(s[sl//2+1:])

print('Yes')

Solution (Python):
S = input()
N = len(S)
M = int((N-1)/2)
a = 0
for i in range(M):
    if S[i] == S[M-1-i] and S[i] == S[N - 1 - i]:
        a += 1
    else:
        break

if a == M:
    print("Yes")
else:
    print("No")

Solution (Python):
def kaibun(S):
    n = len(S)
    if(n%2 != 0):
        for i in range(int((n-1)/2)):
            if(S[i] != S[n-i-1]):
                return 0
    else:
        for i in range(int(n/2)):
            if(S[i] != S[n-i-1]):
                return 0
    return 1
def kaikai(S):
    if(kaibun(S) == 0):
        print('No')
        return 0
    else:
        N = len(S)
        n = int((N-1)/2)
        S1 = S[:n]
        S2 = S[n + 1:]
        if(kaibun(S1) == 1 and kaibun(S2) == 1):
            print('Yes')
        else:
            print('No')
S = input()
kaikai(S)

Solution (Python):

s = input()


leftLen = len(s) // 2 
left = s[:leftLen] 


leftReverse = left[::-1]
isPalindromeLeft = left == leftReverse;


right = s[leftLen * -1:] 
isPalindrome = isPalindromeLeft and (left == right)


result = "Yes" if isPalindrome else "No"


print(result)

Solution (Python):
s = input()
s_len = len(s)
f = s[0:(s_len-1)//2]
b = s[((s_len-1)//2)+1:s_len]
 
if f == b :
    print("Yes")
else:
    print("No")

Solution (Python):

s = input()


leftLen = len(s) // 2 
left = s[:leftLen] 


leftLenHalf = leftLen // 2
isPalindromeLeft = True
for i in range(0, leftLenHalf):
	if left[i] != left[leftLen - i - 1]:
		isPalindromeLeft = False


right = s[leftLen * -1:] 
isPalindrome = isPalindromeLeft and left == right


result = "Yes" if isPalindrome else "No"


print(result)

Solution (Python):
S = input()
N = len(S)
skaibun = 1

for i in range(N):
    if S[i] != S[N - 1 - i]:
        skaibun = 0

for i in range(int((N - 1) / 2)):
    if S[i] != S[int((N - 1)/2 )- 1 - i]:
        skaibun = 0

for i in range(int((N - 1) / 2)):
    if S[int((N + 3) / 2) - 1 + i] != S[N - 1 - i]:
        skaibun = 0

if skaibun == 1:
    print("Yes")
else:
    print("No")

Solution (Python):
def kaibun(s):
    return s == s[::-1]
s = input()
n = len(s)
if kaibun(s) and kaibun(s[:(n-1)//2]):
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
s_len = len(s)
f = s[0:(s_len-1)//2]
b = s[((s_len-1)//2)+1:s_len]

if f == b :
    print("Yes")
else:
    print("No")

Solution (Python):
import math
a= input()
length=math.floor(len(a)/2)
def kaibun(p):
    length_p=math.floor(len(p)/2)
    total_p = 0
    for i in range(length_p):
        if p[i] is not p[-1*i -1]:
            return False
            break
        else:
            total_p += 1
        if total_p == length_p:
            return True
if kaibun(a):
    if kaibun(a[:length]):
        print('Yes')
    elif length==1:
        print('Yes')
    else:
        print('No')
else:
    print('No')

Solution (Python):
S = input()
front = S[0:(len(S)-1)//2]
back = S[((len(S)-1)//2)+1:len(S)]

if front == back:
    print("Yes")
else:
    print("No")

Solution (Python):
a = input();
cnt = 0;
if(a == a[::-1]):
	cnt+=1
n = len(a)
if(a[:(n-1)//2] == a[:(n-1)//2:-1]):
    cnt+=1
if(a[(n+3)//2-1::][::-1] == a[(n+3)//2-1:]):
    cnt+=1
if(cnt == 3):
    print("Yes")
else:
   	print("No")

Solution (Python):
S = input()

def kaibun(s, start, end):
  for i in range(start, end // 2):
    if s[i] != s[end - i - 1]:
      return "No"
  return "Yes"

a = kaibun(S, 0, len(S))
b = kaibun(S, 0, int((len(S) - 1) / 2))
c = kaibun(S, int((len(S) + 3) / 2), len(S))
if a == "Yes" and b == "Yes" and c == "Yes":
    print("Yes")
else:
    print("No")

Solution (Python):
S=input()
N=len(S)
a=S[0:(N-1)//2-1]
A=S[(N-1)//2-1:0:-1]
b=S[(N+3)//2-1:N-1]
B=S[N:(N+3)//2-1:-1]
if(a==A) and (b==B) and (a==B):
    print("Yes")
else:
     print("No")

Solution (Python):
def k(x):
    if x == x[::-1]:
        return True
    else:
        return False

s = input()
n = len(s)

if k(s) and k(s[:(n-1)//2]) and k(s[(n+3)//2-1:]):
    print("Yes")
else:
    print("No")

Solution (Python):
s = input()


def reverse(text):
    return text == ''.join(list(reversed(text)))


N = len(s)

if reverse(s) and reverse(s[:int((N-1)/2)]) and reverse(s[int((N+3)/2) - 1:]):
    print('Yes')
else:
    print('No')

Solution (Python):
S = input()
L = len(S)
if(S[::-1]==S and S[:(L-1)//2:]==S[(L-1)//2-1::-1] and S[L-1:(L+3)//2-2:-1]==S[(L+3)//2-1::]):
    print("Yes")
else:
    print("No")

Solution (Python):
s = input()
n = len(s)
a = (n-1)/2
f = True
for i in range(int(a)):
    if s[i] != s[n-i-1]:
        print('No')
        f = False
        break
        
if f == True:
    for i in range(int(a/2)):
        if s[i] != s[int(a)-i-1]:
            print('No')
            f = False
            break
            
if f == True:
    print('Yes')

Solution (Python):
S=str(input())
def f(x):
  return x==x[::-1]
N=len(S)
S1=S[:(N-1)//2]
S2=S[(N+1)//2:]
if f(S) and f(S1) and f(S2):
  print('Yes')
else:
  print('No')

Solution (Python):
s=list(input())
N=len(s)
s2=s[:(N-1)//2]
s3=s[((N+3)-1)//2:N+1]
if s==list(reversed(s)) and s2==list(reversed(s2)) and s3==list(reversed(s3)):
  print("Yes")
else:
  print("No")

Solution (Python):
s=list(input())
s_reverse=list(reversed(s))
N=len(s)
s2=s[0:(N-1)//2]
s2_reverse=list(reversed(s2))
s3=s[((N+3)-1)//2:N+1]
s3_reverse=list(reversed(s3))
if s==s_reverse and s2==s2_reverse and s3==s3_reverse:
  print("Yes")
else:
  print("No")

Solution (Python):

import math
s = str(input())
N = len(s)
def check_pal(s):
  res = 0
  l = len(s)
  half = math.floor(l/2)
  for i in range(half):
    res += int(s[i] == s[-i-1])
  if res == half:
  	return True
  else:
    return False

a = int((N-1)/2)
b = int((N+3)/2)
bool1 = check_pal(s)
bool2 = check_pal(s[:a])
bool3 = check_pal(s[b-1:])

if bool1*bool2*bool3:
  print('Yes')
else:
  print('No')

Solution (Python):
s = str(input())
n = len(s)

if s[:int((n-1)/2)] == s[int((n-1)/2+1):]:
    print('Yes')
else:
    print('No')

Solution (Python):
import sys

S = input()
len_S = len(S)

if S == S[::-1]:
    if S[:(len_S - 1) // 2] == S[:(len_S - 1) // 2][::-1]:
        if S[(len_S + 3) // 2 - 1:] == S[(len_S + 3) // 2 - 1:][::-1]:
            print('Yes')
            sys.exit(0)
print('No')

Solution (Python):
s = input()

n = len(s)

s_left = s[:(n-1)//2]
s_right = s[(n+1)//2:]

if s == s[::-1] and s_left == s_left[::-1] and s_right == s_right[::-1]:
    print("Yes")
else:
    print("No")

Solution (Python):
def palindrome(str):
    return str == str[::-1]
str = input()
N = len(str)
former = int((N-1)/2)
letter = int((N+3)/2 - 1)
if palindrome(str) and palindrome(str[0:former]) and palindrome(str[letter:N]):
    print("Yes")
else:
    print("No")

Solution (Python):
def main():
    def is_kaibun(s):
        for i in range(len(s)//2):
            if s[i] != s[-i-1]:
                return False
        return True

    s = input()
    if(not is_kaibun(s[:len(s)//2])):
        print("No")
    elif (s[:len(s)//2] != s[len(s)//2 + 1:]):
        print("No")
    else:
        print("Yes")


if __name__ == "__main__":
    main()

Solution (Python):
palin = input()
palin2 = palin[:(len(palin) - 1) // 2]
if palin[::-1] == palin and palin2[::-1] == palin2:
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
n = len(s)
if s == ''.join(list(reversed(s))) and s[:(n-1)//2] == ''.join(list(reversed(s[:(n-1)//2]))) and s[(n+3)//2-1:] == ''.join(list(reversed(s[(n+3)//2-1:]))):
    print('Yes')
else:
    print('No')

Solution (Python):
import sys

stdin = sys.stdin
inf = 1 << 60
mod = 1000000007

ni      = lambda: int(ns())
nin     = lambda y: [ni() for _ in range(y)]
na      = lambda: list(map(int, stdin.readline().split()))
nan     = lambda y: [na() for _ in range(y)]
nf      = lambda: float(ns())
nfn     = lambda y: [nf() for _ in range(y)]
nfa     = lambda: list(map(float, stdin.readline().split()))
nfan    = lambda y: [nfa() for _ in range(y)]
ns      = lambda: stdin.readline().rstrip()
nsn     = lambda y: [ns() for _ in range(y)]
ncl     = lambda y: [list(ns()) for _ in range(y)]
nas     = lambda: stdin.readline().split()

s = ns()
n = len(s)

def is_palind(s):
    if s != ''.join(reversed(s)):
        return False
    return True

flag = True
if not is_palind(s):
    flag = False
if not is_palind(s[:(n - 1) // 2]):
    flag = False

print("Yes" if flag else "No")

Solution (Python):
def kaibun(s):
    rev = ''.join(list(reversed(s)))
    
    if s == rev:
        return True

def main():
    S = input()
    N = len(S)

    if kaibun(S) and kaibun(S[:(N-1)//2]) and kaibun(S[(N+1)//2:]):
        print('Yes')
    else:
        print('No')


if __name__ == '__main__':
    main()

Solution (Python):
s = input()
n = len(s)
if s == s[::-1] and s[:(n-1)//2] == s[(n+1)//2:]:
  print("Yes")
else:
  print("No")

Solution (Python):
S = input()
N = len(S)
is_strong_pal = (S == S[::-1])
is_strong_pal &= (S[:(N-1)//2] == S[:(N-1)//2:-1])
is_strong_pal &= (S[(N+3)//2-1:] == S[(N+3)//2-1:][::-1])
print('Yes' if is_strong_pal else 'No')

Solution (Python):

def f(x):
	return x == x[::-1]
S = input()

l1 = (len(S)-1)//2
l2 = (len(S)+3)//2

S1 = S[:l1]
S2 = S[l2-1:]

if f(S) and f(S1) and f(S2):
	print("Yes")
else:
	print("No")

Solution (Python):

def f(x):
	return x == x[::-1]
S = input()

"""
l1 = (len(S)-1)//2
l2 = (len(S)+3)//2

S1 = S[:l1]
S2 = S[l2:]
"""

l = (len(S)-1)//2
S1 = S[:l]
S2 = S[l+1:]

if f(S) and f(S1) and f(S2):
	print("Yes")
else:
	print("No")

Solution (Python):

def f(x):
	return x == x[::-1]
S = input()
l = (len(S)-1)//2
S1 = S[:l]
S2 = S[l+1:]
if f(S) and f(S1) and f(S2):
	print("Yes")
else:
	print("No")

Solution (Python):
def f(x):
  return x==x[::-1]
S=input()
n=(len(S)-1)//2
S1,S2=S[:n],S[n+1:]
if f(S) and f(S1) and f(S2):
  print('Yes')
else:
  print('No')

Solution (Python):
def chk(i,j,f,s):
    while (j > i and f == 0):
        if s[i] != s[j]:
            f = 1
            break

        j = j-1
        i = i+1

    return f


s = input()
l = len(s)
lh = (l)//2
j = l-1
i = 0
f = 0
r = chk(i,j,f,s)
if r == 1:
    print("No")
    exit()

s1 = s[0:lh]

j = len(s1)-1
i = 0
f = 0
r = chk(i,j,f,s1)
if r == 1:
    print("No")
    exit()

s2 = s[lh+1:]



j = len(s2)-1
i = 0
f = 0
r = chk(i,j,f,s2)
if r == 1:
    print("No")
    exit()

print("Yes")

Solution (Python):
S = str(input())
S_1 = []
for i in range((len(S)-1)//2):
    S_1.append(S[i])
S_2 = []
for j in range(len(S) - (len(S)+3)//2 +1):
    S_2.append(S[(len(S)+3)//2 - 1 + j])
s = []
for k in range(len(S)):
    s.append(S[k])
if list(s) == list(reversed(s)):
    if list(S_1) == list(reversed(S_1)):
        if S_2 == list(reversed(S_2)):
            print('Yes')
            exit()
print('No')

Solution (Python):
def f(x):
  return x==x[::-1]
S=input()
n=(len(S)-1)//2
S1,S2=S[:n],S[n+1:]
if f(S) and f(S1) and f(S2):
  print('Yes')
else:
  print('No')

Solution (Python):
s = input()
if s == s[:: -1] and s[:(len(s) - 1) // 2] == s[(len(s) + 3) // 2 - 1 :]:
    print("Yes")

else:
    print("No")

Solution (Python):
s = str(input())
n = len(s)

s_inv = s[::-1]

t = s[0:(n-1)//2]
t_inv = t[::-1]

u = s[(n+3) // 2 - 1:]
u_inv = u[::-1]

if s==s_inv and t == t_inv and u == u_inv:
    print('Yes')
else:
    print("No")

Solution (Python):
s = str(input())
n = len(s)
s1 = s[0:n//2]
s2 = s[(n+2)//2:n]
if s == s[::-1] and s1 == s1[::-1] and s2 == s2[::-1]:
    print('Yes')
else:
    print('No')

Solution (Python):
S=input()
N=len(S)
S1=S[:(N-1)//2]
S2=S[(N+3)//2-1:]
flag=0
if S==S[::-1]:
    flag+=1
if S1==S1[::-1]:
    flag+=1
if S2==S2[::-1]:
    flag+=1
if flag==3:
    print("Yes")
else:
    print("No")

Solution (Python):
S=input()
s=''.join(list(reversed(S)))
a=S[:int((len(S)-1)/2)]
b=S[int((len(S)+3)/2)-1:]
c=''.join(list(reversed(a)))
d=''.join(list(reversed(b)))
if S==s and a==c and b==d:
	print('Yes')
else:
	print('No')

Solution (Python):
S = input()
n = len(S)
S1 = S[0:int((n-1)/2)]
S2 = S[int((n+3)/2-1):n]

if (S[::-1] == S) and (S1[::-1] == S1) and S2[::-1] == S2:
    print("Yes")
else:
    print("No")

Solution (Python):
s = input()

n = len(s)

palin = lambda s: s == s[::-1]
f = (n-1)//2 
i = (n+3)//2

if palin(s[0:f]) and palin(s[i-1:n]) and palin(s):
	print("Yes")
else:
	print("No")

Solution (Python):
S = input()
N=len(S)
S1 = S[0:int((N-1)/2)]
S2 = S[int((N+3)/2)-1:N]
S_r = ''.join(list(reversed(S)))
S1_r = ''.join(list(reversed(S1)))
S2_r = ''.join(list(reversed(S2)))
if S==S_r and S1==S1_r and S2==S2_r:
    print('Yes')
else:
    print('No')

Solution (Python):
def pal(t):
  return t == t[::-1];


s = input();
f = pal(s) and pal(s[0:len(s)//2:]) and pal(s[(len(s)//2 + 1)::]);

if f == True:
  print("Yes");
else:
  print("No");

Solution (Python):
def palindromeJ(string):
    if string == string[::-1]:
        return True
    else: 
        return False

s = input()
n = len(s)
s_left = s[0:int((n-1)/2)]
s_right = s[int((n+1)/2):]

if palindromeJ(s) and palindromeJ(s_left) and palindromeJ(s_right):
    print("Yes")
else:           
    print("No")

Solution (Python):
S = str(input())

def rot(S):
    size = len(S)
    for i in range(size // 2):
        if S[i] != S[-(i + 1)]: return False
    return True

if not rot(S):
    print("No")
elif not rot(S[0 : len(S) // 2]):
    print("No")
else:
    print("Yes")

Solution (Python):
s=str(input())
n=len(s)
k=s[0:(n-1)//2]
k1=s[(n+3)//2-1:n]

if n%2!=0 and k=="".join(reversed(k)) and k1=="".join(reversed(k1)) and s=="".join(reversed(s)):
    print("Yes")
else:
    print("No")

Solution (Python):
s=input();print(' YNeos'[s[:len(s)//2]in s[2:]::2])

Solution (Python):
s = list(input())

n = len(s)
a = (n-1)//2
b = (n+3)//2

ichi = list(reversed(s))
ni = s[0:a]
san = s[b-1:n+1]

rni = list(reversed(ni))
rsan = list(reversed(san))

if s == ichi and ni == rni and san == rsan:
    print("Yes")
else:
    print("No")

Solution (Python):
s=input();n=len(s)//2;print('YNeos'[s!=s[::-1]or s[:n]!=s[-n:]::2])

Solution (Python):
S = []
S_reverse = []
S_first = []
S_first_reverse = []
S_last = []
S_last_reverse = []

S = list(input())
S_reverse = S.copy()
S_reverse.reverse()
S_first = S[:len(S)//2]
S_last = S[(len(S)+1)//2:]
S_first_reverse = S_first.copy()
S_first_reverse.reverse()
S_last_reverse = S_last.copy()
S_last_reverse.reverse()


if S != S_reverse:
    print("No")
elif S_first == S_first_reverse and S_last == S_last_reverse:
    print("Yes")
else:
    print("No")

Solution (Python):
s=input();n=len(s)//2;print('YNeos'[s[:n]!=s[-n:]::2])

Solution (Python):
s=input();n=len(s)//2;print("YNeos"[s[:n]!=s[-n:]::2])

Solution (Python):
s=input()
n=len(s)//2
print("YNeos"[s[:n]!=s[-n:]::2])

Solution (Python):
s=input()
n=len(s)//2
print("No"if s[:n]!=s[-n:]else"Yes")

Solution (Python):
s=input()
n=len(s)//2
print("No"if s!=s[::-1]or s[:n]!=s[-n:]else"Yes")

Solution (Python):
s = input()
slist = list(s)

def rev(some):
    return list(reversed(some))
    
def check(slist):
    n = len(slist)
    if rev(slist) != slist:
        return "No"
    else:
        first_half = slist[0:int((n-1)/2)]
        second_half = slist[int(((n+3)/2))-1:(n+1)]
        if first_half != rev(first_half):
            return "No"
        else:
            if second_half != rev(second_half):
                return "No"
            return 'Yes'

print(check(slist))

Solution (Python):
s = input()
def isPalindrome(string):
    return string == string[::-1]
if isPalindrome(s) and isPalindrome(s[0:len(s)//2]):
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
n = len(s)
a = s[:n//2]
b = s[n//2+1:]

def circular(string):
    return string == string[::-1]
if circular(s) and circular(a):
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
n = len(s)
a = s[:n//2]
b = s[n//2+1:]

def circular(string):
    return string == "".join(reversed(list(string)))

if circular(s) and circular(a):
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
n = len(s)
a = s[:n//2]
b = s[n//2+1:]

def circular(string):
    return string == "".join(reversed(list(string)))

if circular(s) and circular(a) and circular(b):
    print('Yes')
else:
    print('No')

Solution (Python):
s = input()
n = len(s)
a = s[:n//2]
b = s[n//2+1:]
def circular(string):
    return string == "".join(reversed(list(string)))

if circular(s) and circular(a) and circular(b):
    print('Yes')
else:
    print('No')

Solution (Python):
def kaibun(string):
  return string == "".join(reversed(list(string)))

s = input()
l = len(s)
t, u = s[:l//2], s[l//2+1:]

if kaibun(s) and kaibun(t) and kaibun(u):
  print("Yes")
else:
  print("No")

Solution (Python):
str = input("")
n = len(str)
BOOL = True
for i in range(int((n + 1) / 2)):
    BOOL = BOOL and str[i] == str[n - 1 - i]

for i in range(int((n - 1) / 2)):
    BOOL = BOOL and str[i] == str[int((n - 1) / 2 - 1 - i)]

for i in range(int((n - 1) / 2)):
    BOOL = BOOL and str[int((n + 3) / 2 - 1 + i)] == str[n - 1 - i]

if BOOL == True:
    print ("Yes")
else:
    print("No")

Solution (Python):
s = input()
n = len(s)
s1 = s[0:(n-1)//2]
s2 = s[(n+3)//2-1:n]
flag = True
for i in range(len(s)//2):
    if s[i] != s[len(s)-i-1]:
        flag = False
for i in range(len(s1)//2):
    if s1[i] != s1[len(s1)-i-1]:
        flag = False
for i in range(len(s2)//2):
    if s2[i] != s2[len(s2)-i-1]:
        flag = False
if flag:
    print("Yes")
else:
    print("No")

Solution (Python):
S = input()


def check(s):
    flag = True
    for i in range(len(s)//2):
        if s[i] != s[-i-1]:
            flag = False
            break
    return(flag)


if check(S) and check(S[0:(len(S)-1)//2]) and check(S[(len(S)+3)//2-1:len(S)]):
    print('Yes')
else:
    print('No')

Solution (Python):
S = input()
N = len(S)
n = int((N-1)/2)
S_r = S[::-1]

S1 = S[0:n]
N1 = len(S1)
n1 = int((N1-1)/2)
if n1 < 1:
  n1 = 1
S1_r = S1[::-1]

S2 = S[int((N+3)/2)-1:N]
N2 = len(S2)
n2 = int((N2-1)/2)
if n2 < 1:
  n2 = 1
S2_r = S2[::-1]

if S[0:n]==S_r[0:n] and S1[0:n1]==S1_r[0:n1] and S2[0:n2]==S2_r[0:n2]:
  print('Yes')
else:
  print('No')

Solution (Python):
s=str(input())
n=len(s)

k=(n-1)//2
l=(n+3)//2
if s==s[::-1]:
    if(s[:k]==s[:k][::-1]):
        if(s[l-1:n]==s[l-1:n][::-1]):
            print("Yes")
        else:
            print("No")
    else:
        print("No")
else:
    print("No")

Solution (Python):
S = input()
N = len(S)
x = int((N - 1) / 2)
y = int((N + 3) / 2) - 1

word = S[0:x]
head = S[0:x]
tail = S[y:N]
reverse = word[::-1]

if tail == word and tail == reverse:
  print('Yes')
else:
  print('No')

Solution (Python):
S = input()

front = S[0:len(S)//2]
back = S[(len(S)+3) // 2-1:len(S)]

if front == back[::-1] and front[0] == front[-1] and back[0] == back[-1]:
    print("Yes")

else:
    print("No")

Solution (Python):
S = input()

def isPal(w):
    return w == w[::-1]

def isStrongPal(w):
    n = len(w)
    return isPal(w) and isPal(w[:n//2])

if isStrongPal(S):
    print("Yes")
else:
    print("No")

Solution (Python):
s=input()
n=len(s)
for i in range(n//2):
  if (s[i] != s[n-1-i]):
    print("No")
    quit()

for i in range(n//4):
  if (s[i] != s[n//2-1-i]):
    print("No")
    quit()

print("Yes")

Solution (Python):
def knsu(S):
    N = len(S)
    F = True
    for i in range(N):
        J = N - 1 - i
        if S[i] == S[J]:
            pass
        else:
            F = False
            break

    return F


S = input()
N = len(S)
f1 = knsu(S[:N//2])
f2 = knsu(S[N//2+1:])
f3 = knsu(S)
if f1 and f2 and f3:
    print("Yes")
else:
    print("No")

Solution (Python):
def judge_kaibun(text):
    if len(text) % 2 == 0:
        if text[:len(text)//2] == text[len(text)//2:][::-1]:
            return True
        else:
            return False
    else:
        if text[:len(text)//2] == text[len(text)//2+1:][::-1]:
            return True
        else:
            return False


S = input()
if judge_kaibun(S) and judge_kaibun(S[:len(S)//2]) and judge_kaibun(S[len(S)//2+1:]):
    print('Yes')
else:
    print('No')

Solution (Python):
s=input();print('YNeos'[s.count(s[:len(s)//2])<2::2])

Solution (Python):
import sys
s = input()
for i in range(len(s)//2):
    if s[i] != s[len(s) - i - 1]:
        print("No")
        sys.exit(0)
for i in range((len(s) - 1)//4):
    if s[i] != s[(len(s) - 1)//2 - i - 1]:
        print("No")
        sys.exit(0)
print("Yes")

Solution (Python):
s=input()
n=len(s)
k=(n-1)//2
l=(n+3)//2
if(s==s[::-1]):
	if(s[:k]==s[:k][::-1]):
		if(s[l-1:n]==s[l-1:n][::-1]):
			print("Yes")
		else:
			print("No")
	else:
		print("No")
else:
	print("No")

Solution (Python):

get = input()
if get[:int((len(get)-1)/2)] == get[int(((len(get)+3)/2)-1):]:
    print('Yes')
else:
    print('No')

Solution (Python):
s=input()
n=len(s)
s1=s[:(n-1)//2]
s2=s[(n+1)//2:]
ans='Yes'
for s in [s,s1,s2]:
  for i in range(len(s)):
    if s[i]!=s[-1-i]:
      ans='No'
      break
print(ans)

Solution (Python):
s = input()
n = len(s)
if s[0:(n-1)//2] == s[(n-2)//2::-1] and s[((n+1)//2)::] == s[n+1:(n//2):-1] and s == s[::-1]:
    print("Yes")
else:
    print("No")

Solution (Python):
s=input().rstrip()
x=list(s)
if len(x)%2!=0:
  C=list(s)
  C.reverse();
  if(C!=x):
    print("No")
  else:
    A=(len(x)-1)//2;
    B=x[0:A];
    A=(len(x)+3)//2;
    C=x[A-1:len(x)]
    D=list(B)
    E=list(C)
    D.reverse();
    E.reverse();
    if(B==D and E==C):
      print("Yes")
    else:
      print("No")
else:
  print("No")

Solution (Python):
S=list(input())
N=len(S)
if S==S[::-1] and S[:(N-1)//2]==S[(N+3)//2-1:]:
    print("Yes")
else:print("No")

Solution (Python):


S = input()




N = len(S)

def hantei(s):
    
    if(s == s[::-1]):
        return 'OK'
    else:
        return 'NG'



answer = 'Yes'


if(hantei(S) == 'NG'):
    answer = 'No'


p = int((N-1) / 2)


if(hantei(S[:p]) == 'NG'):
    answer = 'No'


q = int((N+3) / 2)

if(hantei(S[q-1:]) == 'NG'):
    answer = 'No'

print(answer)

Solution (Python):
s = input()

mid = int(len(s) / 2)
flg = True

for i in range(mid):
    if s[i] is not s[-i-1]:
        flg = False

for i in range(int((len(s) - 1) / 2)):
    if s[i] is not s[int((len(s) - 1) / 2)-i-1]:
        flg = False

for i in range(int((len(s) + 3) / 2), len(s)):
    if s[i] is not s[-i-1]:
        flg = False

if flg:
    print("Yes")
else:
    print("No")

Solution (Python):
S = input()
a = S[:len(S)//2]
b = S[len(S)//2+1:]
ans = 'Yes'
for i in range(len(a)//2):
    if a[i] != a[len(a)-i-1]:
        ans = 'No'
        break
for i in range(len(b)//2):
    if b[i] != b[len(b)-i-1]:
        ans = 'No'
        break
for i in range(len(S)):
    if S[i] != S[len(S)-i-1]:
        ans = 'No'
        break
print(ans)

Solution (Python):

S = input()


S_mae = ""
S_mae_gyaku = ""
S_usiro =""
S_usiro_gyaku =""
S_tyusin_num =0
if len(S) % 2 ==1:
    S_tyusin_num =(len(S) )//2
    S_mae =S[:S_tyusin_num]
    S_mae_gyaku = S_mae[::-1]
    S_usiro = S[(-1)*S_tyusin_num:]
    S_usiro_gyaku = S_usiro[::-1]
    if S_mae == S_mae_gyaku and S_usiro == S_usiro_gyaku and S_mae == S_usiro: 
        print("Yes") 
    else:
        print("No")

Solution (Python):
import sys
stdin = sys.stdin
sys.setrecursionlimit(10 ** 7)

def II(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())

def LI(): return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number): return [LI() for _ in range(rows_number)]

s = [i for i in input()]
l = len(s)
a = s[:int((l-1)/2)]
b = s[int((l+3)/2)-1:]
if s==s[::-1] and a==a[::-1] and b==b[::-1]:
    print("Yes")
else:
    print('No')

Solution (Python):
S = input()
mid = len(S)//2 + 1
first = S[0:mid-1]
last = S[mid:]
first_ = ''.join(list(reversed(first))) 
last_ = ''.join(list(reversed(last))) 
a = ((first_ == first) and (last == last_) and (first == last_))
if a:
  print("Yes")
else:
  print("No")

Solution (Python):
s = input()
n = len(s)
s_half = s[:(n-1)//2]
s_half2 = s[(n-1)//2 +1:]


if n%2 ==1:
    if s == s[::-1]:
        if s_half == s_half[::-1] and s_half2 == s_half[::-1]:
            print('Yes')
        else:
            print('No')
    else:
        print('No')
else:
    print('No')

Solution (Python):
s = input()

b = s[: len(s) // 2]
c = s[(len(s) + 3) // 2 - 1 :]

if s == s[::-1] and b == b[::-1] and c == c[::-1]:
    print("Yes")
else:
    print("No")

Solution (Python):
s = input()
def check(s):
    if s!=s[::-1]:
        return False
    t = s[:(len(s)-1)//2]
    if t!=t[::-1]:
        return False
    l = s[(len(s)+3)//2-1:]
    if l!=l[::-1]:
        return False
    return True
if check(s):
    print('Yes')
else:
    print('No')

Solution (Python):
S=input()
N=len(S)

def gg1(T):
    t=T[::-1]
    if T==t:
        a=0
        return a
    else:
        a=1
        return a

def gg2(R):
    r=(N-1)/2
    r=int(r)
    R1=R[:r]
    R2=R1[::-1]
    if R1==R2:
        b=0
        return b
    else:
        b=1
        return b

def gg3(Q):
    q=(N+3)/2-1
    q=int(q)
    Q1=Q[q:N+1]
    Q2=Q1[::-1]
    if Q1==Q2:
        c=0
        return c
    else:
        c=1
        return c

d=gg1(S)+gg2(S)+gg3(S)
if d==0:
    print('Yes')
else:
    print('No')

Solution (Python):
S = input()
N = len(S)
if S[0:int((N-1)/2)] == S[0:int((N-1)/2)][::-1] and S[int((N+3)/2)-1:N] == S[int((N+3)/2)-1:N][::-1] and S == S[::-1]:
    print("Yes")
else:
    print("No")

Solution (Python):
s = input()
sa = s[:(len(s)-1)//2]

s_rev = s[::-1]
sa_rev = sa[::-1]

if s==s_rev and sa==sa_rev:
    print('Yes')
else:
    print('No')