Harryxun/stf_run huggingface dataset:
n=int(input())
s=[]
s.append(2)
s.append(1)
if n==0:
    print('2')
    exit()
elif n==1:
    print('1')
    exit()
else:
    for i in range(2,86):
        k = s[i-2]+s[i-1]
        s.apend(k)
        if i==n-1:
            print(s[i])
            exit()


### FIXED CODE ###

n=int(input())
s=[]
s.append(2)
s.append(1)
if n==1:
    print('1')
    exit()
else:
    for i in range(2,87):
        k = s[i-2]+s[i-1]
        s.append(k)
        if i==n:
            print(s[i])
            exit()
n = int(input())
c = ((1 + a) / 2) * n
print(c)

### FIXED CODE ###

n = float(input())
c = int(((1 + n) / 2) * n)
print(c)
a, b = int(input().split())

if a < b:
    print("a < b")

elif a > b:
    print("a > b")

else:
    print("a == b")



### FIXED CODE ###

a, b = map(int, input().split())

if a < b:
    print("a < b")

elif a > b:
    print("a > b")

else:
    print("a == b")
# パナソニック2020D
import sys
def write(x):
	sys.stdout.write(x)
    sys.stdout.write("\n")
    
from queue import deque
n = int(input())
q = deque([("a", "a")])
while True:
    s, m = q.pop()
    if len(s)==n:
        write(s)
    elif len(s)>=n+1:
        break
    for o in range(ord("a"), ord(m)+2):
        if ord(m)<o:
            m = chr(o)
        q.appendleft((s + chr(o), m))

### FIXED CODE ###

# パナソニック2020D
from queue import deque
n = int(input())
q = deque([("a", "a")])
while True:
    s, m = q.pop()
    if len(s)==n:
        print(s)
    elif len(s)>=n+1:
        break
    for o in range(ord("a"), ord(m)+2):
        if ord(m)<o:
            m = chr(o)
        q.appendleft((s + chr(o), m))
N = int(input())
S = input()
RGB = ['R', 'G', 'B']
import collections
dct = dict(collections.Counter(S))

cnt = 0
for i in range(N-2):
    for j in range(i+1, N-1):
        if 2 * j - i < N:
            for c in RGB:
                if c != S[i] and c != S[j] and S[i] != S[j]:
                    if c == S[2 * j - i]:
                        cnt += 1
                        #print(i, j)
#print(cnt)
print(dct['R'] * dct['G'] * dct['B'] - cnt)

### FIXED CODE ###

N = int(input())
S = input()
RGB = ['R', 'G', 'B']
import collections
if len(set(list(S))) <= 2:
    print(0)
else:
    dct = dict(collections.Counter(S))

    cnt = 0
    for i in range(N-2):
        for k in range((N - 1 - i) // 2 + 1):
            temp = {S[i], S[i + k], S[i + k * 2]}
            if len(temp) == 3:
                cnt += 1
            #print(cnt)
    print(dct['R'] * dct['G'] * dct['B'] - cnt)
date = input()
A ={"SUN":0, "SAT":6, "FRI":5, "TUE":4, "WED":3, "THU":2, "FRI":1}

print(7 - A[date])

### FIXED CODE ###

s = input()
week = ["SAT","FRI","THU","WED","TUE","MON","SUN"]
days = week.index(s) + 1
print(days)
def make_divisors(n):
    divisors = []
    min_k = []
    for i in range(1, int(n ** 0.5) + 1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n // i)
                k = max(len(str(int(i))), len(str(int(n // i))))
                min_k.append(k)

    # divisors.sort()
    return min_k

N = int(input())
# min_k = len(str(N)) + 1
# for i in range(1, N):
#     if N % i != 0:
#         continue
#     if i ** 2 > N:
#         break
#     else:
#         ii = N // i
#         k = max(len(str(i)), len(str(ii)))
#         # print(i, ii, k, min_k)
#         if min_k > k:
#             min_k = k
print(min(make_divisors(N)))

### FIXED CODE ###

def make_divisors(n):
    divisors = []
    min_k = 10
    for i in range(1, int(n ** 0.5) + 1):
        if n % i == 0:
            k = max(len(str(int(i))), len(str(int(n // i))))
            min_k = min(min_k, k)

    # divisors.sort()
    return min_k

N = int(input())
# min_k = len(str(N)) + 1
# for i in range(1, N):
#     if N % i != 0:
#         continue
#     if i ** 2 > N:
#         break
#     else:
#         ii = N // i
#         k = max(len(str(i)), len(str(ii)))
#         # print(i, ii, k, min_k)
#         if min_k > k:
#             min_k = k
print(make_divisors(N))
s,w=mpa(int,input().split())
if(w>=s):
	print("unsafe")
else:
	print("safe")

### FIXED CODE ###

s,w=map(int,input().split())
if(w>=s):
	print("unsafe")
else:
	print("safe")
x=list(map(int,input().split()))
for k in range(5)
    if x[k]==0:
        print(k)
        exit()
    else:
        continue

### FIXED CODE ###

x=list(map(int,input().split()))
for k in range(5):
    if x[k]==0:
        print(k+1)
    else:
        continue
N,M=map(int,input().split())
lst=list(map(int,input().split()))
sort(lst)
sum_1=sum(lst)
D=[]
for i in range(1,M):
    D.append(lst[i]-lst[i-1])
sort(D,reverse=True)
sum_2=0
for i in range(N-1):
    sum_2+=D[i]
ans=0
ans=sum_1-sum_2
print(ans)


### FIXED CODE ###

N,M=map(int,input().split())
if N>M:
    print(0)
    exit()
lst=list(map(int,input().split()))
lst.sort()
sum_1=max(lst)-min(lst)
D=[]
for i in range(1,M):
    D.append(lst[i]-lst[i-1])
D.sort(reverse=True)
sum_2=0
for i in range(N-1):
    sum_2+=D[i]
ans=0
ans=sum_1-sum_2
print(ans)
import numpy as np
N,S = map(int,input().split())
list = list(map(int,input().split()))
A = np.zeros((N+1,S+1,3),dtype=np.int16)
A[0][0][0] = 1


### FIXED CODE ###

N,M = map(int,input().split())
print(N*(N-1)//2+(M*(M-1))//2)
def resolve():
	n, k = map(int, input().split())
	h = list(map(int, input().split()))
	dp = [float('inf')]*n
	dp[0], dp[1] = 0, abs(h[0] - h[1])
	for i in range(2, n):
		s = []
		for j in range(1, k+1):
			if i-j >= 0:
				s.append(dp[i-j] + abs(h[i-j] - h[i]))
		dp[i] = min(s)
	print(dp[-1])
resolve()

### FIXED CODE ###

def resolve():
	N = int(input())
	H = list(map(int, input().split()))
	DP = [-1]*N
	DP[0], DP[1] = 0, abs(H[0] - H[1])
	for i in range(2, N):
		a = DP[i-2] + abs(H[i] - H[i-2])
		b = DP[i-1] + abs(H[i] - H[i - 1])
		DP[i] = min(a, b)
	print(DP[-1])
resolve()
from sys import stdin

n = int(stdin.readline().rstrip())
d = [int(x) for x in stdin.readline().rstrip().split()]

m = [0] * 100

for i in d:
    m[i] += 1

for i in m:
    if (i > 1):
        print("No")
    else:
        print("Yes")

### FIXED CODE ###

from sys import stdin
import math

n = int(stdin.readline().rstrip())
a = [int(x) for x in stdin.readline().rstrip().split()]

d = {}
for aa in a:
    if aa in d.keys():
        d[aa] += 1
    else:
        d[aa] = 1

result = 'YES'
for key, value in d.items():
    if value > 1:
        result = 'NO'

print(result)
a,b = int(input())
print(a*b,a*2+b*2)

### FIXED CODE ###

list=input().split()
x=int(list[0])
y=int(list[1])
print (x*y,(x*2)+(y*2))
#!/usr/bin/env python3
import collections
import itertools as it
import math
#import numpy as np
 
#  = input()
#  = int(input())
n, k = map(int, input().split())
a = list(map(int, input().split()))
#  = [int(input()) for i in range(N)]
#
# c = collections.Counter()

homon = [-1] * (n + 1)

current = 0
st_loop = -1
for i in range(n): 
    if homon[current] == -1:
        homon[current] = i
        current = a[current] - 1
    else:
        #print(current)
        break

#print(homon)
nitta = len([t for t in homon if t != -1])
nltn = current
nlty = 1 if (diff := nitta - nltn) == 0 else diff

if k <= nitta:
    print(current + 1)
else:
    k -= nltn
    print(homon.index(k%nlty) + 1)



### FIXED CODE ###

#!/usr/bin/env python3
import collections
import itertools as it
import math
#import numpy as np
 
#  = input()
#  = int(input())
n, k = map(int, input().split())
a = list(map(int, input().split()))
#  = [int(input()) for i in range(N)]
#
# c = collections.Counter()

ord_ = [-1] * (n + 1)
s = []
v = 1
while ord_[v] == -1:
    ord_[v] = len(s)
    s.append(v)
    v = a[v-1]
c = len(s) - ord_[v]
l = ord_[v]

if k < l:
    print(s[k])
else:
    k -= l
    k %= c
    print(s[l+k])
a, b = map(int, input().split())
print("%d %d %.5f" % a//b, a%b, a/b)


### FIXED CODE ###

a, b = map(int, input().split())
print("%d %d %.5f" % (a//b, a%b, a/b))
A, B, K = list(map(int, input().strip().split(' ')))
tmplist = list([i for i in range(A,B+1)])
for j in range(len(tmplist)):
    if tmplist[j] > A+K and tmplist[j] < B-K:
        tmplist.pop(j)

for k in tmplist:
    print(k)


### FIXED CODE ###

A, B, K = list(map(int, input().strip().split(' ')))
for j in range(A,min(A+K,B+1)):
    if not(j >= A+K and j <= B-K):
        print(j)
for i in range(max(B-K,j+1),B+1):
    if not(i >= A+K and i <= B-K):
        print(i)
wake_up_hour= int(input("Enter WakeUp Hour: "))
wake_up_minute=int(input("Enter WakeUp Minute: "))
sleep_hour=int(input("Enter Sleep Hour: "))
sleep_minute= int(input("Enter Sleep Minute:" ))
study_time=int(input("Study time :"))

Total_Minutes = (sleep_hour) *60 + (sleep_minute) - ((wake_up_hour) * 60 + (wake_up_minute))
if Total_Minutes > study_time:
    print("You can finish the study")
    start_before_minute= ((sleep_hour*60 +  sleep_minute) - study_time) % 60
    start_before_hour= ((sleep_hour*60 +  sleep_minute) - study_time) // 60 
    print("Start before: ", start_before_hour, start_before_minute, )
else:
    print("You are lazy!!!. wake up early")

### FIXED CODE ###

import math
import re
import copy

h1,m1,h2,m2,k = map(int,input().split())
w1 = h1*60 + m1
w2 = h2 * 60 + m2
w3 = (w2-w1+24*60)%(24*60)
w3 = w3 - k
print(w3)
S=input()
if S=ABC:
    print("ARC")
else:
    print("ABC")


### FIXED CODE ###

S=input()
if S=="ABC":
    print("ARC")
else:
    print("ABC")
a,b=[int(x) for x in input().split()]
if a > b:
 print('a > b')
else if a == b:
 print('a == b')
else:
 print('a < b')


### FIXED CODE ###

a,b=[int(x) for x in input().split()]
if a > b:
 print('a > b')
elif a == b:
 print('a == b')
else:
 print('a < b')
n =int(input())
a = list()
 
for _ in range(n):
    a.append(int(input()))
 
b = sorted(a)
 
for i in range(n):
    if a[i] == max(a):
        print(b[-2]) 
    else:
        print(max(a))

### FIXED CODE ###

r = int(input())

print(3 * r ** 2)
N = int(input())
edges = [[] for _ in range(N)]
for _ in range(N-1):
    a,b = map(int,input().split())
    edges[a-1].append(b-1)
    edges[b-1].append(a-1)
visited = [False for _ in range(N)]
def dfs(start,stop):
    visited[start] = True
    if start == stop:
        return
    else:
        for term in edges[start]:
            if visited[term]: continue
            dfs(term,stop)
dfs(0,N-1)
import copy 
fromFennec = copy.deepcopy(visited)
visited = [False for _ in range(N)]
dfs(N-1,0)
fennec = common = snuke = 0
# print(fromFennec)
# print(visited)
for i in range(1,N-1):
    if fromFennec[i] and visited[i]:
        common += 1
    else:
        if fromFennec[i]:
            fennec += 1
        else:
            snuke += 1
F = fennec + common//2 + common%2
S = snuke + common//2
if F > S:
    print("Fennec")
else:
    print("Snuke")

            


### FIXED CODE ###

import sys
sys.setrecursionlimit(2*10**5)
N = int(input())
edges = [[] for _ in range(N)]
for _ in range(N-1):
    a,b = map(int,input().split())
    edges[a-1].append(b-1)
    edges[b-1].append(a-1)
visited = [False for _ in range(N)]
fennec = [-1 for _ in range(N)]
snuke = [-1 for _ in range(N)]
def dfs(start,visited,distance,d):
    visited[start] = True
    d[start] = distance
    for term in edges[start]:
        if visited[term]:
            continue
        dfs(term,visited,distance + 1,d)
dfs(0,visited,0,fennec)

visited = [False for _ in range(N)]
    
dfs(N-1,visited,0,snuke)
F = S = 0
for i in range(N):
    if fennec[i] <= snuke[i]:
        F+=1
    else:
        S+=1
if F>S:
    print("Fennec")
else:
    print("Snuke")
n=int(input())
a=[]
a.append(2)
k=2
for i in range(55):
    while k < 55555 :
        k += 1
        b=k
        for j in a:
            if k%j==0:
                b=0
    
        if b==k:
            a.append(k)
            break
 
ans=[]
for j in range(len(a)):
    if len(ans) < n:
        if a[j] % 5 == 1:
            ans.append(a[j])
            
            
print(*ans)

### FIXED CODE ###

a,b=map(int,input().split())

if a > b:
    a -= 1
print(a)
while True:
  try:
    a,b = map(int, raw_input().split())
    GCD = a if a > b else b
    LCM = a * b
    tmp = GCD
    for i in range(tmp, 0, -1):
      if a % i == 0 and b % i == 0: GCD = i
    tmp = LCM
    for i in range(tmp, 0, -1):
      if i % a == 0 and i % i == 0: LCM = i
    print str(GCD) + " " + str(LCM)
  except EOFError:
    break

### FIXED CODE ###

def get_gcd(a,b):
	if a > b: a, b = b, a
	if b % a == 0:
		return a
	else:
		return get_gcd(a, b % a)

def get_lcm(a,b,g):
	return a * b / g

while True:
	try:
		a,b = map(int, sorted(raw_input().split()))
		GCD = get_gcd(a,b)
		LCM = get_lcm(a,b,GCD)
		print "{} {}".format(GCD, LCM)
	except EOFError:
		break
n,k=map(int,input().split())
b=k
a=n-k
for i in range(1,k+1):
    if a+1<i:print("0")
    ans=1
    for j in range(i):
        ans*=a+1-j
        ans/=i-j
    for x in range(i-1):
        ans*=b-1-x
        ans/=i-1-x
    print(int(ans%1000000007))


### FIXED CODE ###

def ncr(n,r):
    if n==r: return 1
    if n<=0 or n<r:return 0
    r=min(r,n-r)
    a=1
    b=1
    for i in range(r):
        a*=n-i
        b*=r-i
    return a//b

n,k=map(int,input().split())
b=k
a=n-k
for i in range(1,k+1):
    print(int((ncr(a+1,i)*ncr(b-1,i-1))%1000000007))
import queue
n = int(raw_input())
edges = []
for i in range(n - 1):
    edges.append(map(int, raw_input().split()))
edge_num = {}
G = [[] for i in range(n)]
ans = [0] * (n - 1)
for i in range(n - 1):
    s, e = edges[i]
    s = s - 1
    e = e - 1
    edge_num[(s, e)] = i
    edge_num[(e, s)] = i
    G[s].append(e)
    G[e].append(s)
vis = set([])
q = queue.Queue(n)
q.put(0)
vis.add(0)
while q.qsize() > 0:
    u = q.get()
    not_colored = []
    colors = set([])
    for v in G[u]:
        i = edge_num[(u, v)]
        if ans[i] == 0:
            not_colored.append(i)
        else:
            colors.add(ans[i])
        if not v in vis:
            vis.add(v)
            q.put(v)
    color = 1
    for i in not_colored:
        while color in colors:
            color += 1
        ans[i] = color
        color += 1
print len(set(ans))
for i in ans:
    print i

### FIXED CODE ###

from collections import deque
n = int(raw_input())
edges = []
for i in range(n - 1):
    edges.append(map(int, raw_input().split()))
edge_num = {}
G = [[] for i in range(n)]
ans = [0] * (n - 1)
for i in range(n - 1):
    s, e = edges[i]
    s = s - 1
    e = e - 1
    edge_num[(s, e)] = i
    edge_num[(e, s)] = i
    G[s].append(e)
    G[e].append(s)
vis = set([])
q = deque([0])
vis.add(0)
while q:
    u = q.popleft()
    not_colored = []
    colors = set([])
    for v in G[u]:
        i = edge_num[(u, v)]
        if ans[i] == 0:
            not_colored.append(i)
        else:
            colors.add(ans[i])
        if not v in vis:
            vis.add(v)
            q.append(v)
    color = 1
    for i in not_colored:
        while color in colors:
            color += 1
        ans[i] = color
        color += 1
print len(set(ans))
for i in ans:
    print i
n,m=map(int,input().split())
line=list(map(int,input().split()))
if n >= m:
  print(0)
line.sort()
stock=0
distance=[]
for i in line:
  distance.append(i-stock)
  stock=i
distance.pop(0)
for i in range(n-1):
  distance.pop(distance.index(max(distance)))
ans=0
for i in distance:
  ans+= i
print(ans)


### FIXED CODE ###

n,m=map(int,input().split())
line=list(map(int,input().split()))
if n >= m:
  print(0)
else:
  line.sort()
  stock=0
  distance=[]
  for i in line:
    distance.append(i-stock)
    stock=i
  distance.pop(0)
  distance.sort()
  ans=0
  for i in range(m-n):
    ans+= distance[i]
  print(ans)
n = int(input())
brackets_plus = []
brackets_minus = []
right = 0
left = 0
for i in range(n):
    s = input()
    cur = 0
    m = 0
    for j in range(len(s)):
        if s[j] == "(":
            left += 1
            cur += 1
        else:
            right += 1
            cur -= 1
            m = min(m,cur)
    if cur >= 0:
        brackets_plus.append((m,cur))
    else:
        brackets_minus.append((m,cur,m-cur))
if right != left:
    print("No")
    exit()
cur = 0
brackets_plus.sort(reverse = True)
for i in brackets_plus:
    if i[0] + cur < 0:
        print("No")
        exit()
    cur += i[1]
brackets_minus.sort(key == lambda x:x[2])
for i in brackets_minus:
    if i[0] + cur < 0:
        print("No")
        exit()
    cur += i[1]
print("Yes")

### FIXED CODE ###

n = int(input())
brackets_plus = []
brackets_minus = []
right = 0
left = 0
for i in range(n):
    s = input()
    cur = 0
    m = 0
    for j in range(len(s)):
        if s[j] == "(":
            left += 1
            cur += 1
        else:
            right += 1
            cur -= 1
            m = min(m,cur)
    if cur >= 0:
        brackets_plus.append((m,cur))
    else:
        brackets_minus.append((m,cur,m-cur))
if right != left:
    print("No")
    exit()
cur = 0
brackets_plus.sort(reverse = True)
for i in brackets_plus:
    if i[0] + cur < 0:
        print("No")
        exit()
    cur += i[1]
brackets_minus.sort(key = lambda x:x[2])
for i in brackets_minus:
    if i[0] + cur < 0:
        print("No")
        exit()
    cur += i[1]
print("Yes")
H,W=[int(i) for i in input().split()
ans=[]
for i in range(H):
lis =input()
     ans.append(lis)
     ans.append(lis)

print(ans)

### FIXED CODE ###

H,W = [int(i) for i in input().split()]

for i in range(H):
    line = input()
    print(line)
    print(line)
r = input()
g = input()
b = input()

c = int(r+g+b)
if c % int(4) == 0:
    print("YES")
else:
    print("NO")



### FIXED CODE ###

r, g, b = map(int, input().split())
if (g * 10 + b) % 4 == 0:
  print("YES")
else:
  print("NO")
import math
n = int(input())
a = list(map(int,input().split()))
a = sorted(a, reverse = True)
f = True
m = 0
hikaku = -1 
syutu = 0
i = 1
while f and i <= n - 1:
    if a[0]//2 == a[i] or a[0]//2 == a[i] + 1:
        f = False
        m = a[i]
    else:
        i += 1

if f == True:
    for i in range(n):
        answer = 1
        syutu = a[i + 1]
        answer = int(math.factorial(a[0]) / (math.factorial(a[i + 1]) * math.factorial(a[0] - m + 1))
        if hikaku < = answer:
            
            hikaku = answer
            m = syutu
        
print(a[0], syutu)

        
        




### FIXED CODE ###

import math
n = int(input())
a = list(map(int,input().split()))

a = sorted(a, reverse = True)
mid = a[0]//2
diff = abs(mid - a[0])

if n == 2:
    print(max(a[0],a[1]),min(a[0],a[1]))
else:
    for i in range(n):
        if abs(a[i] - mid) < diff:
            diff = abs(a[i] - mid)
            ans = i
    print(a[0], a[ans])
from math import pi
r = float(raw_input())
print "%f %f" % (r*r*pi, 2*PI*r)

### FIXED CODE ###

from math import pi
r = float(raw_input())
print "%f %f" % (r*r*pi, 2*pi*r)
#coding:UTF-8

a = input()
b = input()
c = input()

if a*c <= b:
	print('高橋くんは' + a*c + '円以上持っているのでお気に入りの音を' + c + '回聞いて満足します。')
 	print(c)
    
else:
  	print('高橋くんが満足できないこともあります。')
    print(b/a)

### FIXED CODE ###

a,b,c = map(int,input().split())
num = int(b/a)

if num > c:
	print(c)

else:
	print(num)
a = input().split()
print(a[0] + a[1]/2)

### FIXED CODE ###

a = list(map(int, input().split()))
print(int(a[0] + a[1]/2))
def main():
    s = input()
    [a, b, c] = [int(number) for number in s.split()]

    if b + c <= a:
        print(0)
    else:
        print(b + c - a)

if __name__ == '__main__':20
    """
    main()

### FIXED CODE ###

def main():
    s = input()
    [a, b, c] = [int(number) for number in s.split()]

    if b + c <= a:
        print(0)
    else:
        print(b + c - a)

if __name__ == '__main__':
    main()
# -*- coding:utf-8 -*-
if __name__ == "__main__":
import sys
    dp = [0.0] * 100001
    dp[1] = 1.0
    for i in xrange(2, 100001):
        p = 1.0
        w = 0.5
        for j in xrange(1,i):
            if p < 1e-13:
                break
            dp[i] += (p*(1-w))*(j+dp[max(0,i-j-1)])
            p *= w
            w *= 0.5
        dp[i] += i*p
    while True:
        N = int(raw_input())
        if N == 0:
            sys.exit()
        print "%.8f" % dp[N]

### FIXED CODE ###

# -*- coding:utf-8 -*-
if __name__ == "__main__":
    import sys
    dp = [0.0] * 100001
    dp[1] = 1.0
    for i in xrange(2, 100001):
        p = 1.0
        w = 0.5
        for j in xrange(1,i):
            if p < 1e-13:
                break
            dp[i] += (p*(1-w))*(j+dp[max(0,i-j-1)])
            p *= w
            w *= 0.5
        dp[i] += i*p
    while True:
        N = int(raw_input())
        if N == 0:
            sys.exit()
        print "%.8f" % dp[N]
N,A,B = map(int, input().split())
if (B-A)%2 == 0 and B-A => 0:
  print((B-A)//2+1)
if (B-A)%2 == 0 and A-B => 0:
  print((A-B)//2+1)
D = A-1
E = N-A
F = B-1
G = N-B
elif D+F > E+G and D => F:
  print(D)
elif D+F > E+G and D <= F:
  print(F)
elif D+F < E+G and E => G:
  pritn(E)
else:
  print(G)


### FIXED CODE ###

N,A,B = map(int, input().split())
if (B-A)%2==0:
  print((B-A)//2)
else:
  print(min(A-1,N-B)+1+(B-A-1)//2)
s = input()

oddStep = ['R','U','D']
evenStep = ['L','U','D']
CNST_NO = 'No'
CNST_YES = 'Yes'
good_step = CNST_NO

for i, c in s:
  if i % 2 == 0:
    if c in oddStep:
		good_step = CNST_YES
  else:
    if c in evenStep:
		good_step = CNST_YES
  if good_step==CNST_YES:
    break
print( good_step )


### FIXED CODE ###

s = input()
 
oddStep = ['R','U','D']
evenStep = ['L','U','D']
CNST_NO = 'No'
CNST_YES = 'Yes'
good_step = CNST_YES
 
for i in range( len( s ) ):
  if i % 2 == 1: # 0 start
    if not ( s[ i ] in evenStep ):
      good_step = CNST_NO
  else:
    if not( s[ i ] in oddStep ):
      good_step = CNST_NO
  if good_step == CNST_NO:
    break
print( good_step )