Harryxun/testdata huggingface dataset:
Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque

S = deque(input())
Q = int(input())

for i in range(Q):
  query = [str(e) for e in input().split()]
  if len(query)==1:
    #文字を反転
    S.reverse()
  else:
    if query[1]=="1":
      #先頭に追加
      S.appendleft(query[2])
    else:
      #末尾に追加
      S.append(query[2])
      
#print(S)
print(''.join(map(str,S)))

Fixed submission:
from collections import deque

S = deque(input())
Q = int(input())
reverse_mode = False #反転毎に全体を反転しているとTLEする
reversed_count = 0
 
for i in range(Q):
    query = [str(e) for e in input().split()]
    if len(query)==1:
        reversed_count += 1
        #反転のモードを切り替える
        if reverse_mode == False:
            reverse_mode = True
        elif reverse_mode == True:
            reverse_mode = False
    
    else:
        if reverse_mode == False:
            if query[1]=="1":
            #先頭に追加
                S.appendleft(query[2])
            else:
            #末尾に追加
                S.append(query[2])
        elif reverse_mode == True:
            if query[1]=="1":
            #反転した先頭に追加＝末尾に追加
                S.append(query[2])
            else:
            #反転した末尾に追加＝先頭に追加
                S.appendleft(query[2])

#終了時に反転回数に応じて逆転orそのままにする
if reversed_count%2 != 0:
    S.reverse()
    
#print(S)
print(''.join(map(str,S)))

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque

S = deque(input())
Q = int(input())

for i in range(Q):
  query = [str(e) for e in input().split()]
  if len(query)==1:
    #文字を反転
    S.reverse()
  else:
    if query[1]=="1":
      #先頭に追加
      S.appendleft(query[2])
    else:
      #末尾に追加
      S.append(query[2])
      
#print(S)
print(''.join(map(str,S)))

Fixed submission:
from collections import deque

S = deque(input())
Q = int(input())
reverse_mode = False #反転毎に全体を反転しているとTLEする
reversed_count = 0
 
for i in range(Q):
    query = [str(e) for e in input().split()]
    if len(query)==1:
        reversed_count += 1
        #反転のモードを切り替える
        if reverse_mode == False:
            reverse_mode = True
        elif reverse_mode == True:
            reverse_mode = False
    
    else:
        if reverse_mode == False:
            if query[1]=="1":
            #先頭に追加
                S.appendleft(query[2])
            else:
            #末尾に追加
                S.append(query[2])
        elif reverse_mode == True:
            if query[1]=="1":
            #反転した先頭に追加＝末尾に追加
                S.append(query[2])
            else:
            #反転した末尾に追加＝先頭に追加
                S.appendleft(query[2])

#終了時に反転回数に応じて逆転orそのままにする
if reversed_count%2 != 0:
    S.reverse()
    
#print(S)
print(''.join(map(str,S)))
Buggy python submission (verdict: Runtime Error):
#156d
n,a,b = map(int, input().split())

##############################################
#https://tane-no-blog.com/976/
mod = pow(10, 9) + 7
 
def comb(N, x):
    #n*(n-1)*…*(n-1+1)を計算
    numerator = 1
    for i in range(N-x+1, N+1):
        numerator = numerator * i % mod
    
    #a!を計算 
    denominator = 1
    for j in range(1, x+1):
        denominator = denominator * j % mod
        
    #最後の項 a!**((10**9+7)-2)を計算
    d = pow(denominator, mod-2, mod)
    
    return numerator * d

################################

comb_all = pow(2,n,MOD_BY) - 1 #(2**n) - 1
comb_a = comb(n,a)
comb_b = comb(n,b)

#print(comb_all,comb_a,comb_b)
print((comb_all-comb_a-comb_b)%MOD_BY)

Fixed submission:
#156d
n,a,b = map(int, input().split())

##############################################
#https://tane-no-blog.com/976/
mod = pow(10, 9) + 7
 
def comb(N, x):
    #n*(n-1)*…*(n-1+1)を計算
    numerator = 1
    for i in range(N-x+1, N+1):
        numerator = numerator * i % mod
    
    #a!を計算 
    denominator = 1
    for j in range(1, x+1):
        denominator = denominator * j % mod
        
    #最後の項 a!**((10**9+7)-2)を計算
    d = pow(denominator, mod-2, mod)
    
    return numerator * d

################################

comb_all = pow(2,n,mod) - 1 #(2**n) - 1
comb_a = comb(n,a)
comb_b = comb(n,b)

#print(comb_all,comb_a,comb_b)
print((comb_all-comb_a-comb_b)%mod)
Buggy python submission (verdict: Time Limit Exceeded):
from functools import lru_cache
import sys
sys.setrecursionlimit(200000)

H,N = map(int, input().split()) #H<=10**4,N<=10**3

AB_dict = dict() #A:Atack power, B:Consumption MP

for i in range(N): #N<=10**3
    A,B = map(int, input().split())
    if A not in AB_dict:
        AB_dict[A] = B
    else:
        if B < AB_dict[A]: #同じ攻撃力なら消費MPが少ない方を優先する
            AB_dict[A] = B

@lru_cache(maxsize=None)
def get_consumption_MP(HP): #HPを削るのに必要なMPを求める関数
    ans = 10**9 + 7
    
    for AB in AB_dict.items():
        A = AB[0]
        B = AB[1]
        
        if A >= HP:
            if B < ans:
                ans = B
        else:
            if B + get_consumption_MP(HP-A) < ans:
                ans = B + get_consumption_MP(HP-A)
                
    return ans
        
print(get_consumption_MP(H))

Fixed submission:

#150E
from functools import lru_cache
import sys
sys.setrecursionlimit(200000)

H,N = map(int, input().split()) #H<=10**4,N<=10**3

AB_dict = dict() #A:Atack power, B:Consumption MP

for i in range(N): #N<=10**3
    A,B = map(int, input().split())
    if A not in AB_dict:
        AB_dict[A] = B
    else:
        if B < AB_dict[A]: #同じ攻撃力なら消費MPが少ない方を優先する
            AB_dict[A] = B

@lru_cache(maxsize=None)
def get_consumption_MP(HP): #HPを削るのに必要なMPを求める関数
    ans = 10**9 + 7
    
    for AB in AB_dict.items():
        A = AB[0]
        B = AB[1]
        
        if A >= HP:
            if B < ans:
                ans = B
        else:
            if B + get_consumption_MP(HP-A) < ans:
                ans = B + get_consumption_MP(HP-A)
                
    return ans
        
print(get_consumption_MP(H))
Buggy python submission (verdict: Runtime Error):
import bisect
N = int(input())
S = str(input())

S = list(S)

number_place_dict={}
for i in range(10):
  number_place_dict[i]=list()

#print(number_place_dict)

for i in range(len(S)):
  number_place_dict[int(S[i])].append(i)

#print(number_place_dict)

ans = 0

for i in range(0,1000):
  i = list(str(i))
  if len(i) == 1:
    i = [00]+i
  elif len(i) == 2:
    i = [0]+i
  
  #print(i)

  next_place_confition = -1

  for j in range(0,3):
    #print("数字:",int(i[j]),end="")
    place_list = number_place_dict[int(i[j])]
    index = bisect.bisect_right(place_list, next_place_confition)
    if index == len(place_list):
      #print("条件合致無し")
      break
    else:
      next_place_confition = place_list[index]
      #print("……次は→以上のindexが要:",next_place_confition)
  else:
    #print("OK")
    ans += 1

print(ans)

Fixed submission:
import bisect
N = int(input())
S = str(input())

S = list(S)
#print(S)

number_place_dict={}
for i in range(10):
  number_place_dict[i]=list()

#print(number_place_dict)

for i in range(len(S)):
  #print(int(S[i]))
  number_place_dict[int(S[i])].append(i)

#print(number_place_dict)

ans = 0

for i in range(0,1000):
  i = list(str(i))
  if len(i) == 1:
    i = [0] + [0] + i
  elif len(i) == 2:
    i = [0] + i
  elif len(i) == 0:
    i = [0] + [0] + [0]
  
  #print("i;",i)

  next_place_confition = -1

  for j in range(0,3):
    #print("数字:",int(i[j]),end="")
    place_list = number_place_dict[int(i[j])]
    index = bisect.bisect_right(place_list, next_place_confition)
    if index == len(place_list):
      #print("条件合致無し")
      break
    else:
      next_place_confition = place_list[index]
      #print("……次は→以上のindexが要:",next_place_confition)
  else:
    #print("OK")
    ans += 1

print(ans)
Buggy python submission (verdict: Time Limit Exceeded):
#142c
N = int(input())
A_list = list(map(int, input().split()))

#高橋くんは N人の生徒たちのいるクラスの担当教師です。
#生徒たちには 1から Nまでの出席番号が重複なく割り当てられています。
#今日は全ての生徒たちが相異なるタイミングで登校しました。
#高橋くんは、出席番号 iの生徒が登校した時点で、教室に Ai 人の生徒たちがいたことを記録しています(出席番号 iの生徒を含む)。
#記録された情報を元に、生徒たちの登校した順番を復元してください。

#出力 生徒たちの出席番号を登校した順に出力せよ。

#8
#出席番号
#1 2 3 4 5 6 7 8
#登校時の人数
#8 2 7 3 4 5 6 1

#8 2 4 5 6 7 3 1

print(' '.join(map(str, [A_list.index(i)+1 for i in range(1,N+1)])))

Fixed submission:
#142c
N = int(input())
A_list = list(map(int, input().split()))

#高橋くんは N人の生徒たちのいるクラスの担当教師です。
#生徒たちには 1から Nまでの出席番号が重複なく割り当てられています。
#今日は全ての生徒たちが相異なるタイミングで登校しました。
#高橋くんは、出席番号 iの生徒が登校した時点で、教室に Ai 人の生徒たちがいたことを記録しています(出席番号 iの生徒を含む)。
#記録された情報を元に、生徒たちの登校した順番を復元してください。

#出力 生徒たちの出席番号を登校した順に出力せよ。

#8
#出席番号
#1 2 3 4 5 6 7 8
#登校時の人数
#8 2 7 3 4 5 6 1

#8 2 4 5 6 7 3 1

index_list = [i for i in range(1,N+1)]
class_dict = dict(zip(A_list,index_list))

#print(' '.join(map(str, [A_list.index(i)+1 for i in range(1,N+1)])))

class_sorted = sorted(class_dict.items(),key=lambda x:x[0])
ans = [i[1] for i in class_sorted]
print(' '.join(map(str, ans)))
Buggy python submission (verdict: Runtime Error):
#abc139d
N = int(input())

if N>2:
    #ans=0
    #for i in range(2,N,1):
    #    ans+=i
    #print(ans+1)
    print(int((N*(N-1))/2))
    
elif N==2:
    print("1")
elif N==1:
    print("0")

#abc139c
N = int(input())
list_H = list(map(int, input().split()))

ans =[]
move_count=0

if i!=1:
    for i in range(1,N,1):
        if list_H[i-1]>=list_H[i]:
            move_count+=1

            if i==N-1:
                ans.append(move_count)
        else:
            ans.append(move_count)
            move_count=0

    if len(ans)!=0:
        print(max(ans))
    else:
        print("0")
else:
    print("0")

Fixed submission:
#abc139c
N = int(input())
list_H = list(map(int, input().split()))

ans =[]
move_count=0

if N!=1:
    for i in range(1,N,1):
        if list_H[i-1]>=list_H[i]:
            move_count+=1

            if i==N-1:
                ans.append(move_count)
        else:
            ans.append(move_count)
            move_count=0

    if len(ans)!=0:
        print(max(ans))
    else:
        print("0")
else:
    print("0")

Buggy python submission (verdict: Runtime Error):
#abc139c
N = int(input())
list_H = list(map(int, input().split()))

ans =[]
move_count=0

for i in range(1,N,1):
    if list_H[i-1]>=list_H[i]:
        move_count+=1
        
        if i==N-1:
            ans.append(move_count)
    else:
        ans.append(move_count)
        move_count=0
        

        
print(max(ans))

Fixed submission:
#abc139c
N = int(input())
list_H = list(map(int, input().split()))

ans =[]
move_count=0

if N!=1:
    for i in range(1,N,1):
        if list_H[i-1]>=list_H[i]:
            move_count+=1

            if i==N-1:
                ans.append(move_count)
        else:
            ans.append(move_count)
            move_count=0

    if len(ans)!=0:
        print(max(ans))
    else:
        print("0")
else:
    print("0")
Buggy python submission (verdict: Time Limit Exceeded):
#abc139d
N = int(input())

if N>2:
    ans=0

    add = [i for i in range(2,N,1)]
    print(ans+sum(add)+1)
elif N==2:
    print("1")
elif N==1:
    print("0")

Fixed submission:
#139D

#ここから試験用コード
'''
import itertools

for N in range(1,13):
    l = [i for i in range(1,N+1)]

    ans = 0
    ans_permutation = list()

    for permutation in itertools.permutations(l, N):
        temp_ans = 0
        permutation = [0] + list(permutation)
        for i in range(1,N+1):
            temp_ans += i%permutation[i]

        if ans <= temp_ans:
            if ans < temp_ans:
                ans_permutation = list()
            ans = temp_ans    
            ans_permutation.append(list(permutation)[1:])

    print(N,ans,ans_permutation)
    
#試験用コードの結果
# 1  0 [[1]]
# 2  1 [[2, 1]]
# 3  3 [[1, 3, 2], [2, 3, 1]]
# 4  6 [[2, 3, 4, 1]]
# 5 10 [[1, 3, 4, 5, 2], [2, 1, 4, 5, 3], [2, 3, 4, 5, 1]]
# 6 15 [[2, 3, 4, 5, 6, 1]]
# 7 21 [[1, 3, 2, 5, 6, 7, 4], [1, 3, 4, 5, 6, 7, 2], [2, 3, 1, 5, 6, 7, 4], [2, 3, 4, 5, 6, 7, 1]]
# 8 28 [[2, 1, 4, 5, 6, 7, 8, 3], [2, 3, 4, 5, 6, 7, 8, 1]]
# 9 36 [[1, 3, 4, 5, 6, 7, 8, 9, 2], [2, 3, 4, 1, 6, 7, 8, 9, 5], [2, 3, 4, 5, 6, 7, 8, 9, 1]]
#10 45 [[2, 3, 4, 5, 6, 7, 8, 9, 10, 1]]

#いずれにも最初は2,3...、最後は1となるパターンがある
#上記パターン時は ((N-1)+1)*(N-1)/2 が答え。
'''
N = int(input())
print(N*(N-1)//2)

Buggy python submission (verdict: Time Limit Exceeded):
#abc139d
N = int(input())

if N>2:
    ans=0

    for i in range(2,N,1):
        ans+=i
    print(ans+1)
elif N==2:
    print("1")
elif N==1:
    print("0")

Fixed submission:
#139D

#ここから試験用コード
'''
import itertools

for N in range(1,13):
    l = [i for i in range(1,N+1)]

    ans = 0
    ans_permutation = list()

    for permutation in itertools.permutations(l, N):
        temp_ans = 0
        permutation = [0] + list(permutation)
        for i in range(1,N+1):
            temp_ans += i%permutation[i]

        if ans <= temp_ans:
            if ans < temp_ans:
                ans_permutation = list()
            ans = temp_ans    
            ans_permutation.append(list(permutation)[1:])

    print(N,ans,ans_permutation)
    
#試験用コードの結果
# 1  0 [[1]]
# 2  1 [[2, 1]]
# 3  3 [[1, 3, 2], [2, 3, 1]]
# 4  6 [[2, 3, 4, 1]]
# 5 10 [[1, 3, 4, 5, 2], [2, 1, 4, 5, 3], [2, 3, 4, 5, 1]]
# 6 15 [[2, 3, 4, 5, 6, 1]]
# 7 21 [[1, 3, 2, 5, 6, 7, 4], [1, 3, 4, 5, 6, 7, 2], [2, 3, 1, 5, 6, 7, 4], [2, 3, 4, 5, 6, 7, 1]]
# 8 28 [[2, 1, 4, 5, 6, 7, 8, 3], [2, 3, 4, 5, 6, 7, 8, 1]]
# 9 36 [[1, 3, 4, 5, 6, 7, 8, 9, 2], [2, 3, 4, 1, 6, 7, 8, 9, 5], [2, 3, 4, 5, 6, 7, 8, 9, 1]]
#10 45 [[2, 3, 4, 5, 6, 7, 8, 9, 10, 1]]

#いずれにも最初は2,3...、最後は1となるパターンがある
#上記パターン時は ((N-1)+1)*(N-1)/2 が答え。
'''
N = int(input())
print(N*(N-1)//2)
Buggy python submission (verdict: Runtime Error):
A,B = list(map(int, input().split()))
print(max(A+B,A-B,A*B)

Fixed submission:
A,B = list(map(int, input().split()))
print(max(A+B,A-B,A*B))
Buggy python submission (verdict: Runtime Error):
#136c
N = int(input())
H_list = [int(e) for e in input().split()]

H_list[0] -= 1 #最初の奴は減らしても影響なし。

for i in range(1,N):
    print(H_list)
    print(H_list[i-1],H_list[i])
    
    if H_list[i-1] < H_list[i]:
        H_list[i] -= 1
    
    if H_list[i-1] > H_list[i]:
        print("No")
        break
else:
    print("Yes")

Fixed submission:
#136c
N = int(input())
H_list = [int(e) for e in input().split()]

H_list[0] -= 1 #最初の奴は減らしても影響なし。

for i in range(1,N):
    #print(H_list)
    #print(H_list[i-1],H_list[i])
    
    if H_list[i-1] < H_list[i]:
        H_list[i] -= 1
    
    if H_list[i-1] > H_list[i]:
        print("No")
        break
else:
    print("Yes")
Buggy python submission (verdict: Runtime Error):
#135c
N = str(input())
list_A = list(map(int, input().split()))
list_B = list(map(int, input().split()))

#print("#################################################")

ans = 0
remaining_power = 0

if N>1:
    for i in range(N-1,-1,-1):
        #print(i,"… RP:",remaining_power,",A:",list_A[i+1],",B:",list_B[i])

        if remaining_power>list_A[i+1]:
            #余力のみで倒せる
            remaining_power=list_B[i]
            ans += list_A[i+1]
            #print("margin")
        elif remaining_power + list_B[i] > list_A[i+1]:
            #余力と勇者で倒せる
            remaining_power = list_B[i] - (list_A[i+1] - remaining_power)
            ans += list_A[i+1]
            #print("OK")
        else:
            #余力と勇者でも倒せない
            ans += remaining_power + list_B[i]
            remaining_power = 0
            #print("No")
else:
    remaining_power = list_B[0] 
            
if remaining_power > list_A[0]:
    ans += list_A[0]
else:
    ans += remaining_power
        
print(ans)

Fixed submission:
#135c
N = int(input())
list_A = list(map(int, input().split()))
list_B = list(map(int, input().split()))
 
#print("#################################################")
 
ans = 0
remaining_power = 0
 
if N>1:
    for i in range(N-1,-1,-1):
        #print(i,"… RP:",remaining_power,",A:",list_A[i+1],",B:",list_B[i])
 
        if remaining_power>list_A[i+1]:
            #余力のみで倒せる
            remaining_power=list_B[i]
            ans += list_A[i+1]
            #print("margin")
        elif remaining_power + list_B[i] > list_A[i+1]:
            #余力と勇者で倒せる
            remaining_power = list_B[i] - (list_A[i+1] - remaining_power)
            ans += list_A[i+1]
            #print("OK")
        else:
            #余力と勇者でも倒せない
            ans += remaining_power + list_B[i]
            remaining_power = 0
            #print("No")
else:
    remaining_power = list_B[0] 
            
if remaining_power > list_A[0]:
    ans += list_A[0]
else:
    ans += remaining_power
        
print(ans)
Buggy python submission (verdict: Time Limit Exceeded):
#134d
import math

#input
#3
#1 0 0
#output
#1
#1

N = int(input()) #1≤N≤2×10^5

#Nの後半は入力と一致するので直接代入   
ans = list(map(int, input().split()))

#N 個の空の箱が横一列に並んでいます。 左から i  (1≤i≤N) 番目の箱には整数 iが書かれています。
#それぞれの箱に対してボールを 1個入れるか何も入れないかを選ぶことができます。
#ここで、以下の条件を満たすようなボールの入れ方を、いいボールの入れ方と定めます。

# 1以上 N 以下の任意の整数 i について、i の倍数が書かれた箱に入っているボールの個数の和を 2 で割った余りが aiである。

#いいボールの入れ方は存在するでしょうか。存在するならば 1つ求めてください。

if N%2==0:
    first = int(N/2)-1
else:
    first = int((N-1)/2)-1

#前半部分を処理
for i in range(first,-1,-1): # Max:10^5ループ
    #print(i,"→",i+1,":",ans[i])
    
    multiple_list = [j for j in range(1,N+1) if j%(i+1)==0]
    #print("倍数:",multiple_list)
    #content = [ans[j-1] for j in multiple_list]
    #print("中身:",content)
    total = sum([ans[j-1] for j in multiple_list])
    
    if ans[i]==1 and total%2==0:
        ans[i] = 0
    elif ans[i]==0 and total%2==1:
        ans[i] = 1
        
#print(' '.join(map(str,ans)))
print(sum(ans))
print(' '.join(map(str,[j+1 for j in range(0,N) if ans[j]==1])))

Fixed submission:
#134d
import math
 
#input
#3
#1 0 0
#output
#1
#1
 
N = int(input()) #1≤N≤2×10^5
 
#Nの後半は入力と一致するので直接代入   
ans = list(map(int, input().split()))
 
#N 個の空の箱が横一列に並んでいます。 左から i  (1≤i≤N) 番目の箱には整数 iが書かれています。
#それぞれの箱に対してボールを 1個入れるか何も入れないかを選ぶことができます。
#ここで、以下の条件を満たすようなボールの入れ方を、いいボールの入れ方と定めます。
 
# 1以上 N 以下の任意の整数 i について、i の倍数が書かれた箱に入っているボールの個数の和を 2 で割った余りが aiである。
 
#いいボールの入れ方は存在するでしょうか。存在するならば 1つ求めてください。
 
if N%2==0:
    first = int(N/2)-1
else:
    first = int((N-1)/2)-1

#前半部分を処理
for i in range(first,-1,-1): # Max:10^5ループ
    #print(i,"→",i+1,":",ans[i])
    
    multiple_list = [(i+1)*j for j in range(1,1+N//(i+1))]
    #print(N,",",N//(i+1))
    #print(i+1,"の倍数:",multiple_list)
    #content = [ans[j-1] for j in multiple_list]
    #print("中身:",content)
    total = sum([ans[j-1] for j in multiple_list])
    
    if ans[i]==1 and total%2==0:
        ans[i] = 0
    elif ans[i]==0 and total%2==1:
        ans[i] = 1
        
#print(' '.join(map(str,ans)))
print(sum(ans))
print(' '.join(map(str,[j+1 for j in range(0,N) if ans[j]==1])))
Buggy python submission (verdict: Runtime Error):
#131a
S = int(input())
if (S[0]==S[1]) or (S[1]==S[2]) or (S[2]==S[3]:
    print("Bad")
else:
    print("Good")

Fixed submission:
#131a
S = str(input())
if (S[0]==S[1]) or (S[1]==S[2]) or (S[2]==S[3]):
    print("Bad")
else:
    print("Good")
Buggy python submission (verdict: Time Limit Exceeded):
# スペース区切りの整数の入力
N,M = map(int, input().split())
LR_list=[]
Card_list=[]

#LR読み込み
for i in range(M):
  LR_list.append([int(e) for e in input().split()])

#初期化
for i in range(N):
  Card_list.append(0)

#LRをCardListに適用
for i in range(M):
  #print("")
  for j in range(LR_list[i][0],LR_list[i][1]+1,1):
    Card_list[j-1]+=1
    #print(j,end="")
    
ans=0
    
for i in range(N):
  if Card_list[i]==M:
    ans+=1
    
print(ans)

Fixed submission:
# スペース区切りの整数の入力
N,M = map(int, input().split())
LR_list=[]
Card_list=[]

Min_L = 1
Max_R = N

#LR読み込み
for i in range(M):
  L,R = map(int, input().split())
  if L>Min_L:
    Min_L=L
  if Max_R>R:
    Max_R=R

if Max_R >= Min_L:
  print(Max_R - Min_L + 1)
else:
  print(0)
Buggy python submission (verdict: Time Limit Exceeded):
R,G,B,N = map(int, input().split())
ans = 0
for i in range(0,1+N//R):
    #print(i,1 + (N-i*R)//G)
    for j in range(0,1 + (N-i*R)//G):
        k = (N-i*R-j*G)//B
        if N == R*i + G*j + B*k:
            ans += 1

print(ans)

Fixed submission:
R,G,B,N = map(int, input().split())
ans = 0
for i in range(0,1+N//R):
    #print(i,1 + (N-i*R)//G)
    for j in range(0,1 + (N-i*R)//G):
        k = (N-i*R-j*G)//B
        if N == R*i + G*j + B*k:
            ans += 1

print(ans)
Buggy python submission (verdict: Time Limit Exceeded):
# -*- coding: utf-8 -*-
N = int(input())
S = str(input())

ans_all_black = 0   #全て黒くする方の解
ans_all_white = 0   #全て白くする方の解
ans_right_black = 100 #右をすべて黒くする解

#  #:黒
#  .:白
#黒の右隣に白が来ないようにしたい
#∴すべて黒
#　すべて白
#　白連続の後に黒連続
#のどれかが完成形

for i in range(N):
  if S[i]!="#":
    ans_all_black = ans_all_black + 1
  if S[i]!=".":
    ans_all_white = ans_all_white + 1
  
  #print(i,":",ans_all_white,":",end="")
  
  temp_right_black = 0
  
  if i+1 <N:
    for j in range(i+1,N,1):
      if S[j]==".":
         temp_right_black = temp_right_black+1

    #print(temp_right_black)

    if temp_right_black+ans_all_white<ans_right_black:
      ans_right_black = temp_right_black + ans_all_white
    
    

ans = min(ans_all_white,ans_all_black,ans_right_black)
print(ans)

Fixed submission:
# -*- coding: utf-8 -*-
N = int(input())
S = str(input())

ans_all_black = 0   #全て黒くする方の解
ans_all_white = 0   #全て白くする方の解
ans_right_black = 100 #右をすべて黒くする解

#  #:黒
#  .:白
#黒の右隣に白が来ないようにしたい
#∴すべて黒
#　すべて白
#　白連続の後に黒連続
#のどれかが完成形

#一度白の全数を調べる
all_white = 0
left_white=[]

for i in range(N):
  if S[i]==".":
    all_white  = all_white + 1
    if i==0:
      left_white.append(1) 
    else:
      left_white.append(left_white[i-1]+1) 
  else:
    if i==0:
      left_white.append(0) 
    else:
      left_white.append(left_white[i-1])
    
ans_all_black = all_white     #全数黒にするには白をすべてひっくり返す
ans_all_white = N - all_white #全数白にするには黒をすべてひっくり返す＝すべての中で白出ないものをひっくり返す

#print("all_black:",ans_all_black)
#print("all_white:",ans_all_white)

ans_right_black = N

#右側全黒
for i in range(N):
  #print(i,":",i + 1 - left_white[i],":",ans_all_black - left_white[i])
  #i+1文字目において:左を全部白にするのに必要な塗り数:右を全部黒にするのに必要な塗り数
  ans_right_black = min(i + 1 - left_white[i] + ans_all_black - left_white[i] , ans_right_black)
  
ans = min(ans_all_white,ans_all_black,ans_right_black)
print(ans)
Buggy python submission (verdict: Runtime Error):
# -*- coding: utf-8 -*-
# 文字列の入力
S = str(input())

ans=0

if len(S)==1:
  ans=0
elif len(S)==2:
  if S[0]==S[1]:
    ans=1
  else:
    ans=0
else: #3枚以上はちゃんと読み込む
  strint=[]
  original_string=[]
  
  for i in range(len(S)):
    string.append(S[i])
    original_string.append(S[i])
    
  for i in range(len(S)-2):
    gramed = str(string[i])+str(string[i+1])+str(string[i+2])
    
    if gramed=="000":
      string[i+1]="1"
    if gramed=="001":
      string[i]="1"
    if gramed=="011":
      string[i+2]="0"
    if gramed=="110":
      string[i]="0"
    if gramed=="100":
      string[i+2]="1"
    if gramed=="111":
      string[i+1]="1"
  
  #print(string)
  #print(original_string)
  
  for i in range(len(S)):
    if original_string[i]!=string[i]:
      ans=ans+1
  
print(ans)

Fixed submission:
# -*- coding: utf-8 -*-
# 整数の入力
# スペース区切りの整数の入力
A, B = map(int, input().split())

ans=max((A)+(A-1),A+B,B+(B-1))

print(ans)