A large banner with word CODEFORCES was ordered for the 1000-th onsite round of Codeforces^{ω} that takes place on the Miami beach. Unfortunately, the company that made the banner mixed up two orders and delivered somebody else's banner that contains someone else's word. The word on the banner consists only of upper-case English letters.

There is very little time to correct the mistake. All that we can manage to do is to cut out some substring from the banner, i.e. several consecutive letters. After that all the resulting parts of the banner will be glued into a single piece (if the beginning or the end of the original banner was cut out, only one part remains); it is not allowed change the relative order of parts of the banner (i.e. after a substring is cut, several first and last letters are left, it is allowed only to glue the last letters to the right of the first letters). Thus, for example, for example, you can cut a substring out from string 'TEMPLATE' and get string 'TEMPLE' (if you cut out string AT), 'PLATE' (if you cut out TEM), 'T' (if you cut out EMPLATE), etc.

Help the organizers of the round determine whether it is possible to cut out of the banner some substring in such a way that the remaining parts formed word CODEFORCES.


-----Input-----

The single line of the input contains the word written on the banner. The word only consists of upper-case English letters. The word is non-empty and its length doesn't exceed 100 characters. It is guaranteed that the word isn't word CODEFORCES.


-----Output-----

Print 'YES', if there exists a way to cut out the substring, and 'NO' otherwise (without the quotes).


-----Examples-----
Input
CODEWAITFORITFORCES

Output
YES

Input
BOTTOMCODER

Output
NO

Input
DECODEFORCES

Output
YES

Input
DOGEFORCES

Output
NO

Source: codeforces | Difficulty: MEDIUM
Tags: Implementation

Complete search


Solutions:
InputString = input()
ans = False
if InputString.startswith('CODEFORCES') or InputString.startswith('CODEFORCES'):
	ans = True
for i in range(len(InputString)):
	for j in range(len(InputString)):
		if InputString[:i] + InputString[j:] == 'CODEFORCES':
			ans = True
if ans:
	print('YES')
else:
	print('NO')


s = input()
ss = 'CODEFORCES'
ans = 'NO'
for i in range(len(s)):
	for j in range(i, len(s)):
		h = s[0:i] + s[j + 1:]
		if h == ss:
			ans = 'YES'
print(ans)


S = 'CODEFORCES'
s = input()
for i in range(len(S) + 1):
	if s.startswith(S[:i]) and s.endswith(S[i:]):
		print('YES')
		exit()
print('NO')


s = input()
t = 'CODEFORCES'
if s[:10] == t or s[-10:] == t:
	print('YES')
	exit(0)
for i in range(1, len(t)):
	if t[:i] == s[:len(t[:i])] and t[i:] == s[-len(t[i:]):]:
		print('YES')
		exit(0)
print('NO')


s = input()
word = 'CODEFORCES'
valid = False
for x in range(len(word) + 1):
	begin = word[:x]
	end = word[x:]
	valid = valid or (s.startswith(begin) and s.endswith(end))
print('YES' if valid else 'NO')


l = list(input())
l1 = list('CODEFORCES')
c = 0
d = 0
for i in range(min(len(l), len(l1))):
	if l[i] == l1[i]:
		c += 1
	else:
		break
l = l[::-1]
l1 = l1[::-1]
for i in range(min(len(l), len(l1))):
	if l[i] == l1[i]:
		d += 1
	else:
		break
if c + d >= len(l1):
	print('YES')
else:
	print('NO')


from sys import stdin, stdout

def trace(f):

	def traced(*args, **kw):
		print('calling {} with args {}, {}'.format(f.__name__, args, kw))
		return f(*args, **kw)
	return traced

@trace
def f(x):
	print(x)

def read():
	return stdin.readline()[:-1]

def readarr(sep=None, maxsplit=-1):
	return read().split(sep, maxsplit)

def readint():
	return int(read())

def readintarr(sep=None, maxsplit=-1):
	return [int(a) for a in readarr(sep, maxsplit)]

def write(*args, **kwargs):
	sep = kwargs.get('sep', ' ')
	end = kwargs.get('end', '\n')
	stdout.write(sep.join((str(a) for a in args)) + end)

def writearr(arr, sep=' ', end='\n'):
	stdout.write(sep.join((str(a) for a in arr)) + end)

def solve():
	for i in range(0, L):
		for j in range(i, L + 1):
			w = word[:i] + word[j:]
			if w == 'CODEFORCES':
				write('YES')
				return
	write('NO')
word = read()
L = len(word)
cf = set('CODEFORCES')
while word:
	w = ''.join((c for c in word if c in cf))
	length = len(w)
	if length < 10:
		word = read()
		write('NO')
		continue
	solve()
	word = read()


import re
st = '^CODEFORCES$'
a = input()
for i in range(1, len(st)):
	if re.match(st[:i] + '.*' + st[i:], a):
		print('YES')
		quit()
print('NO')


def solve(s, n, w):
	if s == w:
		return 'YES'
	for i in range(n):
		for j in range(i, n, 1):
			ns = s[0:i] + s[j + 1:]
			if len(ns) != len(w):
				continue
			for k in range(len(ns)):
				if ns[k] != w[k]:
					break
			else:
				return 'YES'
	return 'NO'
s = input()
n = len(s)
w = 'CODEFORCES'
print(solve(s, n, w))


s = input()
f = False
for i in range(1, len(s)):
	if f:
		break
	for j in range(0, len(s) - i + 1):
		t = s[0:j] + s[j + i:]
		if t == 'CODEFORCES':
			print('YES')
			f = True
			break
if not f:
	print('NO')


s = input()
co = '1CODEFORCES1'
i = 1
j = 1
ii = ''
jj = ''
for x in s:
	if x == co[i]:
		ii += co[i]
		i += 1
	else:
		break
for x in s[::-1]:
	if x == co[-j - 1]:
		jj += co[-j - 1]
		j += 1
	else:
		break
if len(ii) + len(jj) >= 10:
	print('YES')
else:
	print('NO')


def search_podstroki(s, t):
	t1 = t + '$' + s
	p = [-1] * len(t1)
	prefix(t1, p)
	c1 = 0
	set_ = {}
	start = -1
	fin = -1
	set_start = []
	set_count = []
	for i in range(1, len(t1)):
		if p[i] == len(t) - 1:
			set_ = set(range(i - 2 * len(t), i - len(t)))
			set_count.append(set_)
			start = i - 2 * len(t)
			fin = i - len(t)
			set_start.append((start, fin))
			c1 = -1
	if c1 == -1:
		return (True, set_count, set_start)
	else:
		return (False, set_count, set_start)

def prefix(t, p):
	k = 0
	for i in range(1, len(t)):
		k = p[i - 1]
		while k >= 0 and t[k + 1] != t[i]:
			k = p[k]
		if t[k + 1] == t[i]:
			k = k + 1
		p[i] = k
s = input()
t = 'CODEFORCES'
c1 = 0
a = search_podstroki(s, t)
for i in range(len(a[2])):
	if a[0] == True and (a[2][i][0] == 0 or a[2][i][1] == len(s)):
		c1 = -1
		print('YES')
		break
if c1 != -1:
	for i in range(0, len(t) - 1):
		t1 = t[0:i + 1]
		t2 = t[i + 1:len(t)]
		a = search_podstroki(s, t1)
		b = search_podstroki(s, t2)
		if a[0] == True and b[0] == True:
			for j in range(len(a[2])):
				for r in range(len(b[2])):
					set_1 = set(range(a[2][j][0], a[2][j][1]))
					set_2 = set(range(b[2][r][0], b[2][r][1]))
					if set_1.isdisjoint(set_2):
						if a[2][j][0] < b[2][r][1] and (b[2][r][0] - a[2][j][1] == 0 and (a[2][j][0] == 0 or b[2][r][1] == len(s))) or (a[2][j][0] < b[2][r][0] and b[2][r][0] - a[2][j][1] != 0 and (a[2][j][0] == 0 and b[2][r][1] == len(s))):
							c1 = -1
							print('YES')
							break
				if c1 == -1:
					break
		if c1 == -1:
			break
	if c1 == 0:
		print('NO')


s = input()
for i in range(len(s) + 1):
	for j in range(i):
		if s[:j] + s[i:] == 'CODEFORCES':
			print('YES')
			exit()
print('NO')


word = input()
if word.startswith('CODEFORCES'):
	print('YES')
elif word.startswith('CODEFORCE') and word.endswith('S'):
	print('YES')
elif word.startswith('CODEFORC') and word.endswith('ES'):
	print('YES')
elif word.startswith('CODEFOR') and word.endswith('CES'):
	print('YES')
elif word.startswith('CODEFO') and word.endswith('RCES'):
	print('YES')
elif word.startswith('CODEF') and word.endswith('ORCES'):
	print('YES')
elif word.startswith('CODE') and word.endswith('FORCES'):
	print('YES')
elif word.startswith('COD') and word.endswith('EFORCES'):
	print('YES')
elif word.startswith('CO') and word.endswith('DEFORCES'):
	print('YES')
elif word.startswith('C') and word.endswith('ODEFORCES'):
	print('YES')
elif word.endswith('CODEFORCES'):
	print('YES')
else:
	print('NO')


kata = 'CODEFORCES'
banner = input()
cek = 0
if len(banner) < 10:
	print('NO')
else:
	while kata[cek] == banner[cek]:
		cek += 1
		if cek == 10:
			break
	if cek == 10:
		print('YES')
	elif kata[-(10 - cek):] == banner[-(10 - cek):]:
		print('YES')
	else:
		print('NO')


x = input()
check = 0
p = len(x)
if x[:10] == 'CODEFORCES' or x[p - 9:] == 'CODEFORCES':
	print('YES')
	check = 1
for i in range(len(x)):
	for j in range(i, len(x)):
		p1 = x[:i]
		p2 = x[j:]
		word = p1 + p2
		if word == 'CODEFORCES':
			if check == 0:
				print('YES')
				check = 1
if check == 0:
	print('NO')


3
s = 'CODEFORCES'
inp = input()
ans = False
for i in range(len(inp)):
	for j in range(i, len(inp) + 1):
		new_s = inp[:i] + inp[j:]
		if new_s == s:
			ans = True
if ans:
	print('YES')
else:
	print('NO')


inStr = input()
codeforces = 'CODEFORCES'
x = 0
for ch in inStr:
	if x < len(codeforces) and ch == codeforces[x]:
		x += 1
	else:
		break
if codeforces[x:] == inStr[-(len(codeforces) - x):] or x >= len(codeforces):
	print('YES')
else:
	print('NO')


3

def main():
	s = input()
	c = 'CODEFORCES'
	for i in range(len(c) + 1):
		if s.startswith(c[:i]) and s.endswith(c[i:]):
			print('YES')
			return
	print('NO')

def __starting_point():
	main()
__starting_point()


word = input()
(need, result) = ('CODEFORCES', 'NO')
for i in range(len(need) + 1):
	if word.startswith(need[:i]) and word.endswith(need[i:]):
		result = 'YES'
		break
print(result)


import re
s = input().strip()
for i in range(0, len(s)):
	for j in range(i + 1, len(s) + 1):
		if s[:i] + s[j:] == 'CODEFORCES':
			print('YES')
			raise SystemExit
print('NO')


s = str(input())
if len(s) < 10:
	print('No')
else:
	target = 'CODEFORCES'
	po = s.find(target)
	if po + 10 == len(s) or po == 0:
		print('YES')
	else:
		for i in range(10):
			if s[i] != target[i]:
				break
		left = i
		for i in range(10):
			if s[len(s) - 1 - i] != target[9 - i]:
				break
		right = i
		if left + right >= 10:
			print('YES')
		else:
			print('NO')


import sys
s = input()
for x in range(len(s) + 1):
	for y in range(x, len(s) + 1):
		if s[:x] + s[y:] == 'CODEFORCES':
			print('YES')
			sys.exit(0)
print('NO')


(s, t) = ('CODEFORCES', input().strip())
print('YES' if any((s[:i] == t[:i] and s[i:] == t[len(t) - len(s) + i:] for i in range(len(s) + 1))) else 'NO')


string = input()
sample = 'CODEFORCES'
flag = 0
if string.find(sample) == 0 or (string.find(sample) == len(string) - len(sample) and len(sample) <= len(string)):
	print('YES')
	flag = 1
if flag != 1:
	for i in range(1, 11):
		samp1 = sample[:i]
		samp2 = sample[i:]
		if string[:len(samp1)] == samp1 and string[len(string) - len(samp2):] == samp2:
			print('YES')
			flag = 1
			break
	if flag == 0:
		print('NO')


Z = input()
S = 'CODEFORCES'
f = len(Z)
for i in range(f + 1):
	for j in range(i, f + 1):
		if S == Z[0:i] + Z[j:f]:
			f = 0
print('NO') if f else print('YES')


s = 'CODEFORCES'
l = input()
(k, c) = (0, 0)
if len(l) < len(s):
	print('NO')
	exit()
for i in range(len(s)):
	if s[i] == l[i]:
		c += 1
	else:
		break
for i in range(len(s)):
	if s[9 - i] == l[len(l) - i - 1]:
		k += 1
	else:
		break
if c + k >= 10:
	print('YES')
else:
	print('NO')


s = input()
n = len(s)
ans = 'NO'
for i in range(n):
	for j in range(i, n):
		if s[:i] + s[j + 1:] == 'CODEFORCES':
			ans = 'YES'
print(ans)


from sys import stdin, stdout
from bisect import bisect_left as bl
from bisect import bisect_right as br
from heapq import *
input = stdin.readline
prin = stdout.write
from random import sample
from collections import Counter, deque
from math import sqrt, ceil, log2, gcd
mod = 10 ** 9 + 7

def f(arr, i, j, d, dist):
	if i == j:
		return
	nn = max(arr[i:j])
	for tl in range(i, j):
		if arr[tl] == nn:
			dist[tl] = d
			f(arr, i, tl, d + 1, dist)
			f(arr, tl + 1, j, d + 1, dist)

def ps(n):
	cp = 0
	lk = 0
	arr = {}
	while n % 2 == 0:
		n = n // 2
		lk += 1
	arr[2] = lk
	for ps in range(3, ceil(sqrt(n)) + 1, 2):
		lk = 0
		while n % ps == 0:
			n = n // ps
			arr.append(n)
			arr.append(ps ** (lk + 1))
			lk += 1
		arr[ps] = lk
	if n != 1:
		lk += 1
		arr[n] = lk
	return arr

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x

def factorials(n, r):
	slr = n
	dpr = r
	qlr = 1
	qs = 1
	mod = 10 ** 9 + 7
	for ip in range(n - r + 1, n + 1):
		qlr = qlr * ip % mod
	for ij in range(1, r + 1):
		qs = qs * ij % mod
	ans = qlr * modInverse(qs) % mod
	return ans

def modInverse(b):
	qr = 10 ** 9 + 7
	return pow(b, qr - 2, qr)
from types import GeneratorType

def iterative(f, stack=[]):

	def wrapped_func(*args, **kwargs):
		if stack:
			return f(*args, **kwargs)
		to = f(*args, **kwargs)
		while True:
			if type(to) is GeneratorType:
				stack.append(to)
				to = next(to)
				continue
			stack.pop()
			if not stack:
				break
			to = stack[-1].send(to)
		return to
	return wrapped_func

def power(arr):
	listrep = arr
	subsets = []
	for i in range(2 ** len(listrep)):
		subset = []
		for k in range(len(listrep)):
			if i & 1 << k:
				subset.append(listrep[k])
		subsets.append(subset)
	return subsets

def dis(xa, ya, xb, yb):
	return sqrt((xa - xb) ** 2 + (ya - yb) ** 2)

def ii():
	return int(input())

def ilist():
	return [int(x) for x in input().strip().split()]

def out(array: list) -> str:
	array = [str(x) for x in array]
	return ' '.join(array)

def islist():
	return list(map(str, input().split().rstrip()))

def outfast(arr: list) -> str:
	ss = ''
	for ip in arr:
		ss += str(ip) + ' '
	return prin(ss)

def pda(n):
	list = []
	for i in range(1, int(sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				list.append(i)
			else:
				list.append(int(n / i))
				list.append(i)
	return list
t = 1
for jj in range(t):
	s = input().strip()
	if len(s) < 10:
		print('NO')
		continue
	aa = 'CODEFORCES'
	cc = 0
	kp = 0
	al = s.find('CODEFORCES')
	if al == 0 or al == len(s) - 10:
		print('YES')
		continue
	for pp in range(10):
		if s.find(aa[:pp]) == 0 and s.rfind(aa[pp:]) == len(s) - (10 - pp):
			cc = 1
	if cc == 1:
		print('YES')
	else:
		print('NO')


s = input()
a = 'CODEFORCES'
left = max([i + 1 if a[:i + 1] == s[:i + 1] else 0 for i in range(len(a))])
right = max([i + 1 if a[-i - 1:] == s[-i - 1:] else 0 for i in range(len(a))])
print('YES' if left + right >= len(a) else 'NO')


s = input()
flag = False
s = s.strip()
if len(s) >= 10:
	if s[-10:] == 'CODEFORCES':
		flag = True
	elif s[0:1] == 'C' and s[-9:] == 'ODEFORCES':
		flag = True
	elif s[0:2] == 'CO' and s[-8:] == 'DEFORCES':
		flag = True
	elif s[0:3] == 'COD' and s[-7:] == 'EFORCES':
		flag = True
	elif s[0:4] == 'CODE' and s[-6:] == 'FORCES':
		flag = True
	elif s[0:5] == 'CODEF' and s[-5:] == 'ORCES':
		flag = True
	elif s[0:6] == 'CODEFO' and s[-4:] == 'RCES':
		flag = True
	elif s[0:7] == 'CODEFOR' and s[-3:] == 'CES':
		flag = True
	elif s[0:8] == 'CODEFORC' and s[-2:] == 'ES':
		flag = True
	elif s[0:9] == 'CODEFORCE' and s[-1:] == 'S':
		flag = True
	elif s[0:10] == 'CODEFORCES':
		flag = True
if flag == True:
	print('YES')
else:
	print('NO')


s = input()
c = 'CODEFORCES'
a = 'NO'
for i in range(len(s)):
	for j in range(i, len(s) + 1):
		if s[:i] + s[j:] == c:
			a = 'YES'
print(a)


s = input()
t = 'CODEFORCES'
i = 0
le = len(s)
if le <= 10:
	print('NO')
	exit(0)
pos = s.find(t)
if pos != -1 and pos == 0 or pos == len(s) - 10:
	print('YES')
	exit(0)
le = min(le, len(t))
if s[0] == 'C':
	while i < le and s[i] == t[i]:
		i += 1
	if t[i:] == s[-10 + i:]:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


s = input()
n = len(s)
ans = False
for i in range(n):
	for j in range(i + 1, n + 1):
		if s[:i] + s[j:] == 'CODEFORCES':
			ans = True
if ans:
	print('YES')
else:
	print('NO')


string = input()
look = 'CODEFORCES'
idx = 0
found = False
for i in range(len(string)):
	for j in range(i, len(string) + 1):
		left = string[:i] + string[j:]
		if left == look:
			print('YES')
			exit(0)
print('NO')


string = input()
cf = 'CODEFORCES'
flag = False
if cf == string[:len(cf)]:
	flag = True
else:
	for i in range(len(cf)):
		for j in range(len(string)):
			if cf[:i] in string[:j] and cf[i:] in string[j:] and (cf[:i] == string[:j]) and (cf[i:] == string[j - len(cf):]):
				flag = True
				break
if flag:
	print('YES')
else:
	print('NO')


import sys
s = 'CODEFORCES'
inpS = sys.stdin.readline().strip()
ans = 'NO'
full = inpS.find(s)
if full != -1:
	if full == 0 or full + len(s) == len(inpS):
		ans = 'YES'
if ans == 'NO':
	for i in range(1, len(s)):
		pos1 = inpS.find(s[:i])
		pos2 = inpS.rfind(s[i:])
		if pos1 != -1 and pos2 != -1:
			if pos1 < pos2 and (pos1 == 0 and pos2 + len(s[i:]) == len(inpS)):
				ans = 'YES'
				break
print(ans)


s = input()
i = len(s) - 1
if s.find('C') == 0 and s[i - 8:] == 'ODEFORCES':
	print('YES')
elif s.find('CO') == 0 and s[i - 7:] == 'DEFORCES':
	print('YES')
elif s.find('COD') == 0 and s[i - 6:] == 'EFORCES':
	print('YES')
elif s.find('CODE') == 0 and s[i - 5:] == 'FORCES':
	print('YES')
elif s.find('CODEF') == 0 and s[i - 4:] == 'ORCES':
	print('YES')
elif s.find('CODEFO') == 0 and s[i - 3:] == 'RCES':
	print('YES')
elif s.find('CODEFOR') == 0 and s[i - 2:] == 'CES':
	print('YES')
elif s.find('CODEFORC') == 0 and s[i - 1:] == 'ES':
	print('YES')
elif s.find('CODEFORCE') == 0 and s[i] == 'S':
	print('YES')
elif s.find('CODEFORCES') == 0 or s[i - 9:] == 'CODEFORCES':
	print('YES')
else:
	print('NO')


def solve():
	string = input()
	word = 'CODEFORCES'
	found = False
	for i in range(len(string)):
		for j in range(len(string)):
			str1 = string[:i] + string[i + j:]
			if str1 == word:
				found = True
				break
		if found:
			break
	if found:
		print('YES')
	else:
		print('NO')

def main():
	solve()
main()


S = input()
c = 'CODEFORCES'
for i in range(len(S)):
	for j in range(i, len(S) + 1):
		if S[:i] + S[j:] == c:
			print('YES')
			return
print('NO')


x = input()
n = len(x)
for i in range(n):
	for j in range(i + 1, n + 1):
		if x[:i] + x[j:] == 'CODEFORCES':
			print('YES')
			return
print('NO')
return


s = input()
s1 = len(s)
l = ['C', 'O', 'D', 'E', 'F', 'O', 'R', 'C', 'E', 'S']
l1 = len(l)
i = 0
j = 0
m = 0
k = 1
if s[0] != l[0]:
	while k <= l1:
		if s[-k] == l[-k]:
			m += 1
		else:
			print('NO')
			break
		k += 1
	if m == l1:
		print('YES')
else:
	while i < s1:
		if s[i] == l[j] and s1 >= l1:
			m += 1
			j += 1
			if m == l1:
				print('YES')
				break
		else:
			while 1:
				if s[-k] == l[-k]:
					k += 1
					m += 1
				else:
					print('NO')
					break
				if m == l1:
					print('YES')
					break
			break
		i += 1


s = input()
c = 'CODEFORCES'
if len(s) < 10:
	from sys import exit
	print('NO')
	exit()
if s[:10] == c:
	print('YES')
elif s[-10:] == c:
	print('YES')
else:
	k = 0
	for i in range(1, 10):
		if s[:i] + s[-10 + i:] == c:
			print('YES')
			k = 1
			break
	if k == 0:
		print('NO')


s = input()
code = 'CODEFORCES'
ans = False
for i in range(len(code) + 1):
	ans = ans or (s[:i] == code[:i] and s[::-1][:len(code) - i][::-1] == code[::-1][:len(code) - i][::-1])
print('YES') if ans else print('NO')


import sys
input = sys.stdin.readline
s = input().strip()
l = 'CODEFORCES'
n = len(s)
d = {}
f = 0
for i in range(n + 1):
	for j in range(i, n + 1):
		temp = s[:i] + s[j:]
		if temp == l:
			f = 1
			break
if f == 1:
	print('YES')
else:
	print('NO')


def solve(word):
	banner = 'CODEFORCES'
	for c in word:
		if c == banner[0]:
			banner = banner[1:]
			if len(banner) == 0:
				return True
		else:
			break
	for c in word[::-1]:
		if c == banner[-1]:
			banner = banner[:-1]
			if len(banner) == 0:
				return True
		else:
			break
	return False
import sys
word = sys.stdin.read().strip()
if solve(word) == True:
	print('YES')
else:
	print('NO')


full = input()
answer = 0
for l in range(0, len(full)):
	for r in range(l, len(full) + 1):
		temp = ''
		for j in range(0, len(full)):
			if j < l or j >= r:
				temp += full[j]
		if temp == 'CODEFORCES':
			answer = 1
			break
print('YES' if answer == 1 else 'NO')


def STR():
	return list(input())

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def MAP2():
	return map(float, input().split())

def LIST():
	return list(map(int, input().split()))

def STRING():
	return input()
from heapq import heappop, heappush
from bisect import *
from collections import deque, Counter
from math import *
from itertools import permutations, accumulate
dx = [-1, 1, 0, 0]
dy = [0, 0, 1, -1]
s = STRING()
g = s[::-1]
v = 'CODEFORCES'
s2 = list(s)
if s2[-1] != 'S' and s[0] != 'C':
	print('NO')
	exit(0)
if s.startswith('C') and s.endswith('ODEFORCES'):
	print('YES')
elif s.startswith('CO') and s.endswith('DEFORCES'):
	print('YES')
elif s.startswith('COD') and s.endswith('EFORCES'):
	print('YES')
elif s.startswith('CODE') and s.endswith('FORCES'):
	print('YES')
elif s.startswith('CODEF') and s.endswith('ORCES'):
	print('YES')
elif s.startswith('CODEFO') and s.endswith('RCES'):
	print('YES')
elif s.startswith('CODEFOR') and s.endswith('CES'):
	print('YES')
elif s.startswith('CODEFORC') and s.endswith('ES'):
	print('YES')
elif s.startswith('CODEFORCE') and s.endswith('S'):
	print('YES')
elif s.startswith('CODEFORCES') or g.startswith('SECROFEDOC'):
	print('YES')
else:
	print('NO')


import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy
ORDA = 97

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return [int(i) for i in input().split()]

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def revn(n):
	return str(n)[::-1]

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=2):
	r = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				r.append(i)
			else:
				r.extend([i, n // i])
	return r

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def prime(n):
	if n == 2:
		return True
	if n % 2 == 0 or n <= 1:
		return False
	sqr = int(math.sqrt(n)) + 1
	for d in range(3, sqr, 2):
		if n % d == 0:
			return False
	return True

def convn(number, base):
	new_number = 0
	while number > 0:
		new_number += number % base
		number //= base
	return new_number

def cdiv(n, k):
	return n // k + (n % k != 0)

def ispal(s):
	for i in range(len(s) // 2 + 1):
		if s[i] != s[-i - 1]:
			return False
	return True
sample = 'CODEFORCES'
s = input()
lens = len(s)
if lens < 11:
	print('NO')
elif s[:10] == sample:
	print('YES')
else:
	for i in range(10):
		if s[:i] == sample[:i] and s[-10 + i:] == sample[-10 + i:]:
			print('YES')
			exit()
	else:
		print('NO')


(word, k) = (input(), 'CODEFORCES')
for i in range(len(k) + 1):
	if word.startswith(k[:i]) and word.endswith(k[i:]):
		print('YES')
		break
else:
	print('NO')


s = input()
n = len(s)
p = 'CODEFORCES'
f = False
for i in range(11):
	res = s[:i] + s[i + n - 10:]
	f = res[:] == 'CODEFORCES'
	if f:
		break
print('YES' if f else 'NO')


__author__ = 'artyom'

def main():
	v = 'CODEFORCES'
	m = len(v)
	s = read(0)
	n = len(s)
	if n < m:
		return 0
	i = 0
	while i < m and v[i] == s[i]:
		i += 1
	while i < m and v[i] == s[n - m + i]:
		i += 1
	return i == m

def read(mode=1, size=None):
	if mode == 0:
		return input().strip()
	if mode == 1:
		return int(input().strip())
	if mode == 2:
		return input().strip().split()
	if mode == 3:
		return list(map(int, input().strip().split()))
	a = []
	for _ in range(size):
		a.append(read(3))
	return a

def write(s='\n'):
	if s is None:
		s = ''
	if isinstance(s, tuple) or isinstance(s, list):
		s = ' '.join(map(str, s))
	s = str(s)
	print(s)
write(['NO', 'YES'][main()])


s = input()
for i in range(11):
	if s.startswith('CODEFORCES'[:i]) and s.endswith('CODEFORCES'[i:]):
		print('YES')
		break
else:
	print('NO')


def check(s):
	if s[:10] == c or s[-10:] == c:
		return True
	for i in range(1, 11):
		if s[:i] + s[-10 + i:] == c:
			return True
	return False
s = input()
if len(s) > 10:
	c = 'CODEFORCES'
	if check(s):
		print('YES')
	else:
		print('NO')
else:
	print('NO')


a = 'CODEFORCES'
ok = False
s = input()
for i in range(len(a) + 1):
	if s.startswith(a[:i]) and s.endswith(a[i:]):
		ok = True
		break
if ok == True:
	print('YES')
else:
	print('NO')


data = input()
pattern = 'CODEFORCES'
stop = False
for i in range(len(data)):
	for j in range(i, len(data)):
		(prefix, suffix) = (data[:i], data[j + 1:])
		if prefix + suffix == pattern:
			stop = True
			break
	if stop:
		break
if stop:
	print('YES')
else:
	print('NO')


def main(s):
	key = 'CODEFORCES'
	for i in range(11):
		s1 = key[0:i]
		s2 = key[i:10]
		if s.startswith(s1) and s.endswith(s2):
			return 'YES'
	return 'NO'

def __starting_point():
	s = input()
	print(main(s))
__starting_point()


a = input()
if a.startswith('CODEFORCES') or a.endswith('CODEFORCES'):
	print('YES')
	return
for i in range(len(a)):
	for j in range(i, len(a)):
		if a[:i] + a[j + 1:] == 'CODEFORCES':
			print('YES')
			return
print('NO')


s = input()
res = 'NO'
for i in range(len(s)):
	for j in range(i, len(s)):
		w = s[0:i] + s[j + 1:]
		if w == 'CODEFORCES':
			res = 'YES'
print(res)


S = 'CODEFORCES'
n = len(S)
s = str(input())
a = False
for i in range(n):
	k = s.find(S[:n - i])
	if k != -1:
		p = k
		while p != -1:
			p = s.find(S[n - i:], p + 1)
			v1 = (k, k + n - i)
			v2 = (p, p + i)
			if v1[0] == 0 and v2[1] == len(s):
				a = True
			elif (v1[0] == 0 or v2[1] == len(s)) and v2[1] - v1[0] == 10:
				a = True
if a:
	print('YES')
else:
	print('NO')


def main():
	(s, x) = (input(), 0)
	for (a, b) in zip('CODEFORCES*', s):
		if a == b:
			x += 1
		else:
			break
	for (a, b) in zip('SECROFEDOC*', reversed(s)):
		if a == b:
			x += 1
		else:
			break
	print(('NO', 'YES')[x > 9])
main()


__author__ = 'huash06'
import os
import sys
import functools
import collections
import itertools

class Solution:

	def __init__(self):
		self.banner = None

	def readInput(self):
		self.banner = input()

	def readMockInput(self):
		self.banner = 'CCODEFORCESODECODEFORCCODEFORCESODCODEFORCESEFCODEFORCESORCODEFORCESCESCESFORCODEFORCESCES'

	def solve(self):
		expect = 'CODEFORCES'
		for l in range(0, len(expect) + 1):
			r = len(expect) - l
			if self.banner[:l] + self.banner[len(self.banner) - r:] == expect:
				print('YES')
				return
		print('NO')

	def solve1(self):
		expect = 'CODEFORCES'
		if len(self.banner) < len(expect):
			print('NO')
			return
		match = 0
		i = 0
		while i < len(self.banner):
			if match >= len(expect):
				print('YES')
				return
			mis = []
			for ei in range(match + 1):
				if expect[ei] == self.banner[i]:
					mis.append(ei)
			if mis:
				for mi in mis:
					for j in range(i, i + len(expect) - mi):
						if self.banner[j] == expect[mi]:
							mi += 1
							match = max(mi, match)
							i = j
						else:
							break
			i += 1
		if match >= len(expect):
			print('YES')
		else:
			print('NO')
s = Solution()
s.readInput()
s.solve()


def head(string, size):
	return string[:size]

def tail(string, size):
	return string[len(string) - size:]

def found_slice(template, string):
	template_len = len(template)
	string_len = len(string)
	if string_len < template_len:
		return False
	if head(string, template_len) == template:
		return True
	if tail(string, template_len) == template:
		return True
	for index in range(1, template_len):
		template_head = head(template, index)
		template_tail = tail(template, template_len - index)
		string_head = head(string, index)
		string_tail = tail(string, template_len - index)
		if string_head == template_head and string_tail == template_tail:
			return True
	return False
template = 'CODEFORCES'
string = input()
if found_slice(template, string):
	print('YES')
else:
	print('NO')


from math import *
from copy import *
from string import *
from random import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
import math

def bin1(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = k ** mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin1(mid + 1, r, k, t, b, val, ans)
		else:
			return bin1(l, mid - 1, k, t, b, val, ans)

def bin2(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = t * k ** mid + b * mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin2(l, mid - 1, k, t, b, val, ans)
		else:
			return bin2(mid + 1, r, k, t, b, val, ans)

def SieveOfEratosthenes(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	l = []
	for i in range(2, n + 1):
		if prime[i]:
			l.append(i)
	return l

def bin(l, r, ll, val):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		if val >= ll[mid][0] and val <= ll[mid][1]:
			return mid
		elif val < ll[mid][0]:
			return bin(l, mid - 1, ll, val)
		else:
			return bin(mid + 1, r, ll, val)

def deci(n):
	s = ''
	while n != 0:
		if n % 2 == 0:
			n = n // 2
			s = '0' + s
		else:
			n = n // 2
			s = '1' + s
	return s

def diff(s1, s2):
	if len(s1) < len(s2):
		v = len(s1)
		while v != len(s2):
			s1 = '0' + s1
			v = v + 1
	else:
		v = len(s2)
		while v != len(s1):
			s2 = '0' + s2
			v = v + 1
	c = 0
	for i in range(len(s1)):
		if s1[i:i + 1] != s2[i:i + 1]:
			c = c + 1
	return c
from sys import stdin, stdout

def fac(a, b):
	v = a
	while a != b:
		v *= a - 1
		a = a - 1
	return v

def bino(l, r, n):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		val1 = math.log(n / mid + 1, 2)
		val2 = int(val1)
		if val1 == val2:
			return val1
		elif val1 < 1.0:
			return bino(l, mid - 1, n)
		else:
			return bino(mid + 1, r, n)

def binary(l, r, ll, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		if ll[mid] == val:
			return ll[mid]
		elif ll[mid] < val:
			ans = ll[mid]
			return binary(mid + 1, r, ll, val, ans)
		else:
			return binary(l, mid - 1, ll, val, ans)

def check(n):
	v = 1
	while n != 0:
		if n % 10 == 0 or n % 10 == 1:
			n = n // 10
		else:
			v = 0
			break
	return v

def stairs(n, m, val, c, l):
	if val > n:
		return 100000
	elif val == n:
		if l[val] != -1:
			return l[val]
		elif c % m == 0:
			l[val] = c
			return l[val]
		else:
			l[val] = 100000
			return l[val]
	else:
		l[val] = min(stairs(n, m, val + 1, c + 1, l), stairs(n, m, val + 2, c + 1, l))
		return l[val]
s = str(input())
s1 = 'CODEFORCES'
if len(s) < len(s1):
	print('NO')
elif s[0:4] == 'CODE' and s[len(s) - 6:] == 'FORCES' or s[0:10] == s1 or s[len(s) - 10:] == s1 or (s[0:1] == 'C' and s[len(s) - 9:] == 'ODEFORCES') or (s[0:2] == 'CO' and s[len(s) - 8:] == 'DEFORCES') or (s[0:3] == 'COD' and s[len(s) - 7:] == 'EFORCES') or (s[0:5] == 'CODEF' and s[len(s) - 5:] == 'ORCES') or (s[0:6] == 'CODEFO' and s[len(s) - 4:] == 'RCES') or (s[0:7] == 'CODEFOR' and s[len(s) - 3:] == 'CES') or (s[0:8] == 'CODEFORC' and s[len(s) - 2:] == 'ES') or (s[0:9] == 'CODEFORCE' and s[len(s) - 1:] == 'S'):
	print('YES')
else:
	print('NO')


s = input()
s1 = 'CODEFORCES'
for i in range(len(s1)):
	num1 = s.find(s1[:i + 1])
	num2 = s.find(s1[i + 1:])
	if num1 < num2:
		if num1 == 0 and s1[-(len(s1) - i) + 1:] == s[-(len(s1) - i) + 1:]:
			print('YES')
			exit()
if s1 == s[:len(s1)]:
	print('YES')
	exit()
elif s1 == s[-len(s1):]:
	print('YES')
	exit()
print('NO')


s = input()
w = 'CODEFORCES'
for i in range(len(w) + 1):
	if s.startswith(w[:i]) and s.endswith(w[i:]):
		print('YES')
		break
else:
	print('NO')


s = input()
f = False
for i in range(len(s)):
	for j in range(len(s)):
		if s[:i] + s[j + 1:] == 'CODEFORCES':
			print('YES')
			exit(0)
print('NO')


s = input()
n = len(s)
flag = False
for i in range(n):
	if flag == True:
		break
	for j in range(i, n):
		x = s[0:i] + s[j:n]
		if x == 'CODEFORCES':
			flag = True
			break
if s[:10] == 'CODEFORCES':
	flag = True
if flag == True:
	print('YES')
else:
	print('NO')


def main():
	s = input()
	for i in range(len(s)):
		for j in range(i + 1, len(s) + 1):
			if s[:i] + s[j:] == 'CODEFORCES':
				print('YES')
				return
	else:
		print('NO')
main()


import os
import sys
from io import BytesIO, IOBase

def main():
	t = 'CODEFORCES'
	s = input()
	for i in range(len(s)):
		for j in range(i, len(s)):
			if s[:i] + s[j + 1:] == t:
				print('YES')
				exit(0)
	print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


s = 'CODEFORCES'
l = input()
n = len(l)
if s in l[:len(s)] or s in l[len(l) - len(s):]:
	print('YES')
else:
	j = 0
	i = 0
	n = len(l)
	while i < len(s) and j < n and (l[j] == s[i]):
		i += 1
		j += 1
	x = l[:j]
	i = len(s) - 1
	j = len(l) - 1
	k = 0
	while k + len(x) < len(s) and i >= 0 and (j >= 0) and (l[j] == s[i]):
		i -= 1
		j -= 1
		k += 1
	x += l[j + 1:]
	if x == s:
		print('YES')
	else:
		print('NO')


str = input()
test_str = 'CODEFORCES'
if len(str) <= len(test_str):
	print('NO')
else:
	l = 0
	r = len(test_str) - 1
	while l < len(test_str) and test_str[l] == str[l]:
		l += 1
	while r >= 0 and test_str[r] == str[len(str) - len(test_str) + r]:
		r -= 1
	if r >= l:
		print('NO')
	else:
		print('YES')


def search():
	word = input()
	for i in range(len(word)):
		for j in range(len(word)):
			if word[:i] + word[j + 1:] == 'CODEFORCES':
				return True
	return False
if search():
	print('YES')
else:
	print('NO')


a = input()
line = 'CODEFORCES'
line_stat = 'CODEFORCES'
i = 0
t = False
if len(a) > 10:
	if a[0:10] == 'CODEFORCES':
		t = True
	elif a[len(a) - 10:len(a)] == 'CODEFORCES':
		t = True
	else:
		while a[i] == line[0]:
			line = line[1:]
			i += 1
		m = len(line)
		if a[len(a) - m:len(a)] == line:
			t = True
if t == True:
	print('YES')
else:
	print('NO')


s = input()
res = False
for l in range(len(s)):
	for r in range(l + 1, len(s) + 1):
		if s[:l] + s[r:] == 'CODEFORCES':
			res = True
if res:
	print('YES')
else:
	print('NO')


lib = 'CODEFORCES'

def con_check(_str: str) -> bool:
	if _str[0:10] == lib or _str[-10:] == lib:
		return True
	return False

def sep_check(_str: str) -> bool:
	for i in range(10):
		if _str[:i + 1] + _str[-9 + i:] == lib:
			return True
	return False
string = input()
if len(string) < 10:
	print('NO')
elif con_check(string) or sep_check(string):
	print('YES')
else:
	print('NO')


s = input()
flag = 1
bag = 'CODEFORCES'
if bag in s:
	rem = s[:s.index(bag)] + s[s.rindex(bag) + len(bag):]
	k = []
	st = 0
	for i in s:
		if i == bag[st]:
			st += 1
		else:
			break
		if st == 10:
			break
	rem2 = bag[st:]
	if s.rindex(rem2) + len(rem2) == len(s):
		print('YES')
	elif rem == bag:
		print('YES')
	elif s.index(bag) > 0 and s.rindex(bag) + len(bag) < len(s):
		print('NO')
	else:
		print('YES')
	exit()
k = []
for i in bag:
	x = ''.join(k)
	if x in s:
		k.append(i)
	else:
		k.pop()
		x = ''.join(k)
		break
rem = bag[bag.index(x) + len(x):]
if rem in s:
	if s.index(x) == 0 and s.rindex(rem) + len(rem) == len(s):
		print('YES')
	else:
		print('NO')
else:
	print('NO')


s = input()
x = 'CODEFORCES'
n = len(s)
l = 0
r = n - 1
xl = 0
xr = len(x) - 1
while xr >= xl:
	a = False
	if s[l] == x[xl]:
		l += 1
		a = True
		xl += 1
	if s[r] == x[xr]:
		r -= 1
		a = True
		xr -= 1
	if not a or r >= n or l < 0 or (l >= n) or (r < 0):
		break
else:
	print('YES')
	exit()
print('NO')


import sys
import collections
sys.setrecursionlimit(30000)

def main():
	word = input()
	cf = 'CODEFORCES'
	r = ''
	k = len(word)
	m = len(cf)
	p1 = word.find(cf)
	if p1 == 0 or (p1 == k - m and p1 > 0):
		print('YES')
		return 0
	for x in range(k):
		for y in range(x + 1, k):
			(r1, r2) = ('', '')
			for z in range(x):
				r1 += word[z]
			for z in range(y, k):
				r2 += word[z]
			if r1 + r2 == cf:
				print('YES')
				return 0
	print('NO')
main()


s = input()
if len(s) < 10:
	print('NO')
else:
	t = 'CODEFORCES'
	k = -1
	for i in range(10):
		if s[i] == t[i]:
			k += 1
		else:
			break
	if k == 9:
		print('YES')
	else:
		j = len(s) - 1
		m = 9
		flag = True
		k += 1
		while k < 10:
			if s[j] == t[m]:
				j -= 1
				m -= 1
				k += 1
			else:
				flag = False
				break
		if flag:
			print('YES')
		else:
			print('NO')


strInp = input()
if len(strInp) < 10:
	print('NO')
	exit()
val = 'CODEFORCES'
cnt = 0
if strInp.find(val) != -1:
	if strInp[:len(val)] == val or strInp[-len(val):] == val:
		print('YES')
		exit()
for letter in strInp:
	if val[cnt] == letter:
		cnt += 1
	else:
		print('YES') if strInp[-(len(val) - cnt):] == val[-(len(val) - cnt):] else print('NO')
		exit()


import re
template = 'CODEFORCES'
llt = len(template)
ss = input()
lls = len(ss)
l = []
r = []
if ss == 'CODEFORCES':
	print('YES')
elif len(ss) > len(template):
	for i in range(llt + 1):
		l = ss[:i]
		r = ss[lls - llt + i:]
		if l + r == template:
			print('YES')
			exit(0)
print('NO')


a = 'CODEFORCES'
s = input()
f = 0
for i in range(11):
	if a[:i] == s[:i] and a[i:] == s[-10 + i:]:
		f = 1
if a == s[:10]:
	f = 1
if f == 1:
	print('YES')
else:
	print('NO')


s = input()
n = len(s)
for i in range(n):
	for j in range(i, n):
		if s[0:i] + s[j:n] == 'CODEFORCES':
			print('YES')
			exit()
for i in range(n):
	if s[0:i] == 'CODEFORCES' or s[i:n] == 'CODEFORCES':
		print('YES')
		exit()
print('NO')


a = input()
b = 'CODEFORCES'
for i in range(len(b) + 1):
	c = a
	s = a[0:i] + a[len(a) - len(b) + i:len(a)]
	if s == b:
		print('YES')
		break
else:
	print('NO')


n = input()
e = 'CODEFORCES'
(i, flag) = (0, -1)
if n[0] == 'C' and len(n) >= len(e):
	while True:
		if i == len(e):
			flag = 1
			break
		elif n[i] == e[i]:
			i += 1
		else:
			break
	j = len(n) - len(e[i:])
	if n[j:] == e[i:] or flag == 1:
		print('YES')
	else:
		print('NO')
elif len(n) < len(e):
	print('NO')
elif n[len(n) - 10:] == e:
	print('YES')
else:
	print('NO')


a = input()
b = 'CODEFORCES'
if a[:len(b)] == b or a[-len(b):] == b:
	print('YES')
else:
	for x in range(len(b)):
		if a[x - len(b):] == b[x:] and a[:x] == b[:x]:
			print('YES')
			break
	else:
		print('NO')


refer = 'CODEFORCES'
line = str(input())
(s0, s1) = (len(refer), len(line))
l = r = 0
while l < min(s0, s1) and line[l] == refer[l]:
	l += 1
while r < min(s0, s1) and line[s1 - 1 - r] == refer[s0 - r - 1]:
	r += 1
print('YES' if l + r >= 10 else 'NO')


s = input()
c = 'CODEFORCES'
print('YES' if any((s.startswith(c[:i]) and s.endswith(c[i:]) for i in range(len(c) + 1))) else 'NO')


s = input()
n = len(s)
for i in range(0, n):
	for j in range(i + 1, n + 1):
		t = s[:i] + s[j:]
		if 'CODEFORCES' == t:
			print('YES')
			exit()
print('NO')


S = input()
a = 'CODEFORCES'
c = 1
for i in range(len(S)):
	for j in range(i, len(S) + 1):
		if S[:i] + S[j:] == a:
			c = 0
			break
	if c == 0:
		break
if c == 0:
	print('YES')
else:
	print('NO')


import sys
fin = sys.stdin
fout = sys.stdout
s = fin.readline().strip()
n = len(s)
for L in range(n):
	for R in range(L + 1, n + 1):
		s1 = s[:L]
		s2 = s[L:R]
		s3 = s[R:]
		if s1 + s3 == 'CODEFORCES':
			print('YES')
			sys.exit(0)
print('NO')


cf = 'CODEFORCES'
str = input()
i = str.find(cf)
p1 = 0
p2 = 0
l = min(len(str), len(cf))
for p1 in range(0, l + 1):
	if p1 >= l:
		break
	if str[p1] != cf[p1]:
		break
for p2 in range(0, l + 1):
	if p2 >= l:
		break
	if str[len(str) - p2 - 1] != cf[len(cf) - p2 - 1]:
		break
if p1 + p2 >= len(cf):
	print('YES')
else:
	print('NO')


s = input()
(l, t) = (len(s), 1)
for i in range(l):
	for j in range(i + 1, l + 1):
		if s[:i] + s[j:] == 'CODEFORCES':
			t = 0
print('YNEOS'[t::2])


text = input()
word = 'CODEFORCES'
if len(text) <= 10:
	print('NO')
elif text[0:10] == 'CODEFORCES':
	print('YES')
elif text[len(text) - 10:] == 'CODEFORCES':
	print('YES')
else:
	found = False
	for i in range(1, 10):
		if text[0:i] == word[0:i] and text[len(text) - (10 - i):] == word[i:]:
			print('YES')
			found = True
			break
	if found == False:
		print('NO')


x = input()
n = len(x)
for i in range(n):
	for j in range(i + 1, n + 1):
		if x[:i] + x[j:] == 'CODEFORCES':
			print('YES')
			exit(0)
print('NO')
exit(0)


banner = input()
target = 'CODEFORCES'
if banner.startswith(target) or banner.endswith(target):
	print('YES')
else:
	for i in range(1, len(target)):
		if banner.startswith(target[:i]) and banner.endswith(target[i:]):
			print('YES')
			break
	else:
		print('NO')


a = input()
if len(a) < 10:
	print('NO')
elif a[:10] == 'CODEFORCES':
	print('YES')
else:
	e = True
	for i in range(10):
		if a[:i] + a[-10 + i:] == 'CODEFORCES':
			print('YES')
			e = False
			break
	if e:
		print('NO')


s = input()
n = len(s)
r = 'NO'
for i in range(0, n):
	for j in range(i, n):
		w = s[0:i] + s[j + 1:]
		if w == 'CODEFORCES':
			r = 'YES'
print(r)


import re
s = input()
cf = 'CODEFORCES'
for i in range(len(cf) + 1):
	pat = '^' + cf[:i] + '.*' + cf[i:] + '$'
	if re.search(pat, s):
		print('YES')
		break
else:
	print('NO')


s = input()
c = 'CODEFORCES'
print('NYOE S'[any((s.startswith(c[:i]) and s.endswith(c[i:]) for i in range(11)))::2])


s = input()
cf = 'CODEFORCES'
if len(s) < len(cf) + 1:
	print('NO')
else:
	for i in range(1, len(s) - 9):
		for j in range(len(s) - i + 1):
			if s[:j] + s[j + i:] == cf:
				print('YES')
				quit()
	print('NO')


s = input()
d = [c for c in 'CODEFORCES']
if len(s) < len('CODEFORCES'):
	print('NO')
	quit()
p = False
st = -1
e = -1
c_s = 0
for i in range(len(s)):
	if st == -1 and (i >= len(d) or s[i] != d[i]):
		st = i
		break
	elif st == -1 and s[i] == d[i]:
		d[i] = '!'
		if i == len(s) - 1:
			print('YES')
			quit()
for i in range(len(s)):
	if e == -1 and (i >= len(d) or s[len(s) - 1 - i] != d[len(d) - 1 - i]):
		e = len(s) - 1 - i
	if e != -1 and st != -1:
		break
if s[:st] + s[e + 1:] == 'CODEFORCES':
	print('YES')
	quit()
else:
	print('NO')
	quit()


s = input()
title = 'CODEFORCES'
n = len(s)
n2 = len(title)
strings = []
for i in range(n2):
	strings += [title[i:]]
ans = [0] * n2
strings2 = []
for i in range(n2):
	strings2 += [title[:n2 - i]]
ans2 = [0] * n2
for i in range(n2):
	ans[i] = s.rfind(strings[i])
	ans2[i] = s.find(strings2[i])
ans3 = 0
if ans[0] != -1 and (ans[0] == 0 or ans[0] == n - n2):
	ans3 = 1
for i in range(n2 - 1):
	if ans[i + 1] > ans2[n2 - i - 1] and (ans2[n2 - i - 1] == 0 and ans[i + 1] == n - n2 + i + 1):
		ans3 = 1
print('YES' * ans3 + 'NO' * (1 - ans3))


t = 'CODEFORCES'
s = input()
for i in range(len(s)):
	for j in range(i, len(s) + 1):
		if ''.join((s[:i], s[j:])) == t:
			print('YES')
			return
print('NO')


s = input()
print(['NO', 'YES'][any([s[:i] + s[j + 1:] == 'CODEFORCES' for i in range(len(s)) for j in range(i, len(s))])])


line = input()
true_or_false = False
for first_part in range(len(line)):
	for last_part in range(first_part, len(line) + 1):
		if line[:first_part] + line[last_part:] == 'CODEFORCES':
			true_or_false = True
if true_or_false:
	print('Yes')
else:
	print('No')


a = input('')
accept = False
for i in range(len(a)):
	for j in range(i + 1, len(a) + 1):
		if a[:i] + a[j:] == 'CODEFORCES':
			accept = True
print('YES' if accept else 'NO')


a = input()
f = False
for i in range(len(a)):
	for t in range(i, len(a) + 1):
		if a[0:i] + a[t:len(a)] == 'CODEFORCES':
			f = True
			break
if f:
	print('YES')
else:
	print('NO')


s = input()
t = 'CODEFORCES'
k = 0
for i in range(len(t) + 1):
	if s.startswith(t[:i]) and s.endswith(t[i:]):
		print('YES')
		break
else:
	print('NO')


import sys
s = input()
for l in range(len(s) + 1):
	for r in range(l + 1, len(s) + 1):
		if s[:l] + s[r:] == 'CODEFORCES':
			print('YES')
			sys.exit(0)
print('NO')


import sys
fin = sys.stdin
s = fin.readline()
s = s[:len(s) - 1]
f = 'CODEFORCES'
i = 0
while i < len(s) and i < len(f) and (f[i] == s[i]):
	i += 1
j = 0
while j < len(s) and j < len(f) and (f[len(f) - j - 1] == s[len(s) - j - 1]):
	j += 1
if i + j >= len(f):
	print('YES')
else:
	print('NO')


src = input()
dst = 'CODEFORCES'
ans = False
delta = len(src) - len(dst)
if delta > 0:
	for i in range(0, len(src) - delta + 1):
		t = src[0:i] + src[i + delta:len(src)]
		if t == dst:
			ans = True
			break
if ans:
	print('YES')
else:
	print('NO')


from fnmatch import fnmatch, fnmatchcase
pat = ['*CODEFORCES', 'C*ODEFORCES', 'CO*DEFORCES', 'COD*EFORCES', 'CODE*FORCES', 'CODEF*ORCES', 'CODEFO*RCES', 'CODEFOR*CES', 'CODEFORC*ES', 'CODEFORCE*S', 'CODEFORCES*']
name = input()
ok = 0
for s in pat:
	if fnmatch(name, s):
		print('YES')
		ok = 1
		break
if ok == 0:
	print('NO')


inp = input()
fl = False
for i in range(len(inp)):
	for j in range(i, len(inp) + 1):
		if inp[:i] + inp[j:] == 'CODEFORCES':
			fl = True
if fl:
	print('Yes')
else:
	print('No')


def check(l, r, ll, rr):
	global s, ss
	t = s[l:r] + s[ll:rr]
	if t == ss:
		return 1
	else:
		return 0
ss = 'CODEFORCES'
n = len(ss)
s = input()
m = len(s)
flag = 0
for i in range(0, n + 1):
	if check(0, i, m - n + i, m):
		flag = 1
if flag == 1:
	print('YES')
else:
	print('NO')


s = input()
if s == 'CODEFORCES':
	print('YES')
	exit()
l = len(s)
for i in range(l):
	for j in range(l):
		if l - (j - i + 1) == 10:
			tmp = ''
			for k in range(l):
				if k < i or k > j:
					tmp = tmp + s[k]
			if tmp == 'CODEFORCES':
				print('YES')
				exit()
print('NO')


string = input()
n = len(string)
answer = 'NO'
for i in range(n):
	for j in range(i + 1, n + 1):
		s = string[:i] + string[j:]
		if s == 'CODEFORCES':
			answer = 'YES'
print(answer)


s = input()
x = 'CODEFORCES'
found = False
for i in range(len(s)):
	for j in range(i, len(s) + 1):
		if s[:i] + s[j:] == x:
			print('YES')
			found = True
			break
	if found:
		break
else:
	print('NO')


a = 'CODEFORCES'
x = input()
m = False
if len(x) <= len(a) or len(x) > 100:
	print('NO')
elif x.find(a) == 0:
	print('YES')
elif x.find(a) == len(x) - len(a):
	print('YES')
else:
	for pos in range(len(a)):
		sub = a[:pos + 1]
		if x.find(sub) == 0:
			sub2 = a[pos + 1:]
			point = x.find(sub)
			if x.find(sub2, len(x) - len(sub2)) != -1:
				m = m | True
			else:
				m = m | False
		else:
			m = m | False
	if m == True:
		print('YES')
	else:
		print('NO')


def good(s, i, j):
	if s[:i] + s[j:] == 'CODEFORCES':
		return True
	else:
		return False

def main():
	banner = input()
	answ = False
	for i in range(len(banner)):
		for j in range(i, len(banner) + 1):
			if good(banner, i, j):
				answ = True
	if answ:
		print('YES')
	else:
		print('NO')
main()


import math
s = input()
c = 0
for i in range(len(s)):
	for j in range(i, len(s) + 1):
		p = s[:i] + s[j:]
		if p == 'CODEFORCES':
			c = 1
if c == 1:
	print('YES')
else:
	print('NO')


s = input()
s2 = 'CODEFORCES'
while s and s2 and (s[0] == s2[0]):
	s = s[1:]
	s2 = s2[1:]
while s and s2 and (s[-1] == s2[-1]):
	s = s[:-1]
	s2 = s2[:-1]
if s2 == '':
	print('YES')
else:
	print('NO')


import sys
f = sys.stdin
s = f.readline().strip()
SS = 'CODEFORCES'
res = False
for i in range(len(s)):
	for l in range(len(s)):
		if s[:i] + s[i + l:] == SS:
			res = True
			break
if res:
	print('YES')
else:
	print('NO')


a = input()
s = 'CODEFORCES'
Alen = len(a)
ans = 0
for i in range(len(s) + 1):
	t = a[0:i] + a[Alen + i - 10:Alen]
	if t == s:
		ans = 1
		break
if ans == 1:
	print('YES')
else:
	print('NO')


S = input()
c = 'CODEFORCES'
for i in range(len(S)):
	for j in range(i, len(S) + 1):
		if S[:i] + S[j:] == c:
			print('YES')
			exit(0)
print('NO')


z = input
mod = 10 ** 9 + 7
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0:
			return 0
	return 1
for _ in range(1):
	l = z()
	l1 = 'CODEFORCES'
	j = -1
	c = 0
	for i in range(len(l)):
		for j in range(i + 1, len(l) + 1):
			if l[:i] + l[j:] == l1:
				print('YES')
				exit(0)
	else:
		print('NO')


s = input()
if s.startswith('CODEFORCES'):
	print('YES')
	return
for i in range(len(s)):
	for j in range(i):
		if s[:j] + s[i:] == 'CODEFORCES':
			print('YES')
			return
print('NO')


s = input()
c = 'CODEFORCES'
ls = len(s)
isok = False
for i in range(0, ls):
	for j in range(i + 1, ls + 1):
		if s[:i] + s[j:] == c:
			isok = True
if isok:
	print('YES')
else:
	print('NO')


a = input()
c = 'CODEFORCES'
if len(a) < 10:
	print('NO')
else:
	t = 0
	for i in range(10):
		if a[i] == c[i]:
			t += 1
		else:
			break
	for i in range(10):
		if a[-1 * (i + 1)] == c[-1 * (i + 1)]:
			t += 1
		else:
			break
	print('YES' if t >= 10 else 'NO')


s = input()
ln = len(s)
ans = 'NO'
pat = 'CODEFORCES'
cl = len(pat)
if ln > cl:
	for pref_len in range(cl):
		check = s[:pref_len] + s[pref_len - cl:]
		if check == pat:
			ans = 'YES'
			break
	if s[:cl] == pat:
		ans = 'YES'
print(ans)


__author__ = 'Xapheus'
input = input()
input_length = len(input)
if input_length < 10:
	print('NO')
elif input[0:10] == 'CODEFORCES' or input[-10:] == 'CODEFORCES':
	print('YES')
else:
	test = 'CODEFORCES'
	leading_index = 0
	trailing_index = len(test) - 1
	sub_begin = False
	for i in input:
		if i != test[leading_index]:
			break
		leading_index += 1
	for i in input[::-1]:
		if i != test[trailing_index]:
			print('NO')
			break
		elif leading_index == trailing_index:
			print('YES')
			break
		trailing_index -= 1


(b, cf) = (input(), 'CODEFORCES')
for i in range(11):
	if b.startswith(cf[:i]) and b.endswith(cf[i:]):
		(print('YES'), exit())
print('NO')


s = input()
t = 'CODEFORCES'
f = 0
for i in range(len(s)):
	for j in range(i, len(s) + 1):
		if s[:i] + s[j:] == t:
			f = 1
			break
if f:
	print('YES')
else:
	print('NO')