Buggy python submission (verdict: Time Limit Exceeded):
cnt = 0
base = 0
digits_base = 0
MOD = 2019
s = input().rstrip()

for d in s:
    digits_base += 1
    digits_tmp = digits_base
    base *= 10
    base += int(d)
    tmp = base
#     print(base)
    while tmp:
#         print(tmp)
        if tmp % MOD == 0:
            cnt += 1
        tmp %= 10 ** (digits_tmp-1)
        digits_tmp -= 1
print(cnt)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))

Buggy python submission (verdict: Runtime Error):
cnt = 0
base = 0
MOD = 2019
s = open(0).read().rstrip()

for d in s:
    base *= 10
    base += int(d)
    tmp = base
    while tmp:
        if tmp % MOD == 0:
            cnt += 1
        tmp //= 10
print(ans)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))

Buggy python submission (verdict: Runtime Error):
cnt = 0
base = 0
MOD = 2019
s = input()

for d in s:
    base *= 10
    base += int(d)
    tmp = base
    while tmp:
        if tmp % MOD == 0:
            cnt += 1
        tmp //= 10
print(ans)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))

Buggy python submission (verdict: Runtime Error):
cnt = 0
base = 0
MOD = 2019

for d in input().rstrip():
    base *= 10
    base += int(d)
    tmp = base
    while tmp:
        if tmp % MOD == 0:
            cnt += 1
        tmp //= 10
print(ans)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))

Buggy python submission (verdict: Runtime Error):
cnt = 0
base = 0
MOD = 2019

for d in input():
    base *= 10
    base += int(d)
    tmp = base
    while tmp:
        if tmp % MOD == 0:
            cnt += 1
        tmp //= 10
print(ans)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))

Buggy python submission (verdict: Runtime Error):
cnt = 0
base = 0
MOD = 2019
# inv = pow(10,-1,MOD)

for d in input():
    base *= 10
    base += int(d)
    tmp = base
    while tmp:
        if tmp % MOD == 0:
            cnt += 1
        tmp //= 10
print(ans)

Fixed submission:
s = input().rstrip()
tmp = 0
pw = 1
from collections import Counter
c = Counter()
c[0] += 1

for d in s[::-1]:
    tmp += int(d) * pw
    tmp %= 2019
    pw *= 10
    pw %= 2019
    c[tmp] += 1

print(sum([v*(v-1)//2 for v in c.values() if v > 1]))