Problem:


Score : 100 points

Problem Statement

How many multiples of d are there among the integers between L and R (inclusive)?

Constraints

All values in input are integers.

1 \leq L \leq R \leq 100

1 \leq d \leq 100

Input

Input is given from Standard Input in the following format:

L R d

Output

Print the number of multiples of d among the integers between L and R (inclusive).

Sample Input 1

5 10 2

Sample Output 1

3

Among the integers between 5 and 10, there are three multiples of 2: 6, 8, and 10.

Sample Input 2

6 20 7

Sample Output 2

2

Among the integers between 6 and 20, there are two multiples of 7: 7 and 14.

Sample Input 3

1 100 1

Sample Output 3

100



Sample input:
5 10 2


Sample output:
3

Submission status: Runtime Error

Solution code:
N = int(input())
sX = input()
 
origin_count = sX.count('1')
one_r_count = origin_count -1
zero_r_count = origin_count +1
 
one_mod = 0
zero_mod =0
for b in sX:
    if one_r_count != 0:
        one_mod = (one_mod * 2) + int(b) % one_r_count
    zero_mod = (zero_mod * 2 ) + int(b) % zero_r_count
 
f = [0] * 220000
pop = [0]* 220000
 
for i in range(1,220000):
    pop[i] = pop[i//2] + i%2
    f[i] = f[i % pop[i]] + 1
    
onepow = [1] * 220000
zeropow = [1]* 220000

for i in range(1,220000):
    if one_r_count != 0:
        onepow[i] = onepow[i-1] * 2 % one_r_count
    zeropow[i] = zeropow[i-1] * 2 % zero_r_count

for i in range(1,N+1):
    if sX[i-1] == '1':
        if one_r_count != 0:
            Xi_n = one_mod - onepow[N-i]
            Xi_n %= one_r_count
            print(f[Xi_n]+1)
        else:
            print(0)
    else:
        Xi_n = zero_mod + zeropow[N-i]
        Xi_n %= zero_r_count
        print(f[Xi_n]+1)

Submission status: Runtime Error

Solution code:
N = int(input())
sX = input()

origin_count = sX.count('1')
one_r_count = origin_count -1
zero_r_count = origin_count +1

one_mod = 0
zero_mod =0
for b in sX:
    if one_r_count != 0:
        one_mod = (one_mod * 2 + int(b) )% one_r_count
    zero_mod = (zero_mod * 2  + int(b) )% zero_r_count

f = [0] * 220000
pop = [0]* 220000

for i in range(1,220000):
    pop[i] = pop[i//2] + i % 2
    f[i] = f[i % pop[i]] + 1

onepow = [1] * 220000
zeropow = [1]* 220000

for i in range(1,220000):
    if one_r_count != 0:
        onepow[i] = onepow[i-1] * 2 % one_r_count
    zeropow[i] = zeropow[i-1] * 2 % zero_r_count

for i in range(1,N+1):
    if sX[i-1] == '1':
        if one_r_count != 0:
            Xi_n = one_mod - onepow[N-i]
            Xi_n %= one_r_count
            print(f[Xi_n]+1)
        else:
            print(0)
    else:
        Xi_n = zero_mod + zeropow[N-i]
        Xi_n %= zero_r_count
        print(f[Xi_n]+1)

Submission status: Runtime Error

Solution code:
N = int(input())
sX = input()

origin_count = sX.count('1')
one_r_count = origin_count -1
zero_r_count = origin_count +1

one_mod = 0
zero_mod =0
for b in sX:
    if one_r_count != 0:
        one_mod = (one_mod * 2) + int(b) % one_r_count
    zero_mod = (zero_mod * 2 ) + int(b) % zero_r_count

f = [0] * 220000
pop = [0]* 220000

for i in range(1,220000):
    pop[i] = pop[i//2] + i%2
    f[i] = f[i % pop[i]] + 1

onepow = [1] * 220000
zeropow = [1]* 220000

for i in range(1,220000):
    if one_r_count != 0:
        onepow[i] = onepow[i-1] * 2 % one_r_count
    zeropow[i] = zeropow[i-1] * 2 % zero_r_count

for i in range(1,N+1):
    if sX[i-1] == '1':
        if one_r_count != 0:
            Xi_n = one_mod - onepow[N-i]
            Xi_n %= one_r_count
            print(f[Xi_n]+1)
        else:
            print(0)
    else:
        Xi_n = zero_mod + zeropow[N-i]
        Xi_n %= zero_r_count
        print(f[Xi_n]+1)

Submission status: Runtime Error

Solution code:
N = int(input())
sX = input()

origin_count = sX.count('1')
one_r_count = origin_count -1
zero_r_count = origin_count +1

one_mod = 0
zero_mod =0
for i in range(N):
    if(one_r_count != 0):
        one_mod = (one_mod * 2) + int(sX[i]) % one_r_count
    zero_mod = (zero_mod * 2 ) + int(sX[i]) % zero_r_count

f = [0] * 220000
pop = [0]* 220000

for i in range(1,220000):
    pop[i] = pop[i//2] + i%2
    f[i] = f[i % pop[i]] + 1

onepow = [1] * 220000
zeropow = [1]* 220000

for i in range(1,220000):
    if(one_r_count != 0):
        onepow[i] = onepow[i-1] * 2 % one_r_count
    zeropow[i] = zeropow[i-1] * 2 % zero_r_count

for i in range(1,N+1):
    if(sX[i-1] == '1'):
        if(one_r_count != 0):
            Xi_n = one_mod - onepow[N-i]
            Xi_n %= one_r_count
            print(f[Xi_n]+1)
        else:
            print(0)
    else:
        Xi_n = zero_mod + zeropow[N-i]
        Xi_n %= zero_r_count
        print(f[Xi_n]+1)

Submission status: Runtime Error

Solution code:
N = int(input())
sX = input()

origin_count = sX.count('1')
one_r_count = origin_count -1
zero_r_count = origin_count +1

one_mod = 0
zero_mod =0
for i in range(N):
    if(one_r_count != 0):
        one_mod = (one_mod * 2) + int(sX[i]) % one_r_count
    zero_mod = (zero_mod * 2 ) + int(sX[i]) % zero_r_count

f = [0] * 220000
pop = [0]* 220000

for i in range(1,220000):
    pop[i] = pop[i//2] + i%2
    f[i] = f[i % pop[i]] + 1

onepow = [1] * 220000
zeropow = [1]* 220000

for i in range(1,220000):
    if(one_r_count != '0'):
        onepow[i] = onepow[i-1] * 2 % one_r_count
    zeropow[i] = zeropow[i-1] * 2 % zero_r_count

for i in range(1,N+1):
    if(sX[i-1] == '1'):
        if(one_r_count != 0):
            Xi_n = one_mod - onepow[N-i]
            Xi_n %= one_r_count
            print(f[Xi_n]+1)
        else:
            print(0)
    else:
        Xi_n = zero_mod + zeropow[N-i]
        Xi_n %= zero_r_count
        print(f[Xi_n]+1)

Submission status: Runtime Error

Solution code:
n = int(input())
cnt = [0]*(n+1)

for i in range(1,int(n**0.5)+1):
  for j in range(1,int(n**0.5)+1):
    for k in range(1,int(n**0.5)+1):
      v = (i**2)+(j**2)+(k**2)+i*j+j*k+k*i
      if v<=n:
        cnt[v] += 1
for i in range(1,n+1):
  print(cnt[i])

Submission status: Runtime Error

Solution code:
L,R= map(int, input().split())
d = input()
 
for L in range(R):
  if(i%d == 0) cnt++
  
print(cnt)

Submission status: Runtime Error

Solution code:
L,R,d = (int(_) for _ in input().split())
 
for i in range(d):
  if(i%d == 0) cnt++
  
print(cnt)

Submission status: Runtime Error

Solution code:
L,R,d = map(int(_) for _ in input().split())

for i in range(0, d):
  if(i%d == 0) cnt++
  
print(cnt)

Submission status: Runtime Error

Solution code:
L,R,d = input(int(_) for _ in input().split())

for i in range(d):
  if(i%d == 0) cnt++
  
print(cnt)

Submission status: Runtime Error

Solution code:
L,R,d = input(int(_) for _ in input().split())

for i in range(0, d):
  if(i%d == 0) cnt++
  
print(cnt)

Submission status: Runtime Error

Solution code:
L,R,d = input(int(_) for _ in input().split())

for i in range(d):
  if(i%d == 0) cnt++;
  
print(cnt);

Submission status: Runtime Error

Solution code:
l,r,d = map(int,input(.split()))
c=0
for i in range(l,r+1):
  if i%d==0:
    c+=1
print(c)

Submission status: Runtime Error

Solution code:
a=list(map(int,input().split()))
if(a[0]%a[2]==0 || a[1]%a[2]==0):
  print((int((a[1]-a[0])/a[2]))+1)
else:
  print(int((a[1]-a[0])/a[2]))

Submission status: Runtime Error

Solution code:
n=int(input())
import math
s=int(math.sqrt(n))
for i in range(1,n+1):
    count = 0
    for x in range(1,s):
        for y in range(1,s):
            for z in range(1,s):
                if x*x+y*y+z*z+x*y+y*z+z*x == i:
                        count += 1
    print(count)

Submission status: Runtime Error

Solution code:
def popcount(n):
    cnt = 0
    for i in range(n):
        if ((n >> i) & 1):
            cnt +=1
    return cnt

def f(n):
    cnt = 1
    while True:
        if n == 0:
            break
        n = n % popcount(n)
        cnt += 1
    return cnt

def pow_r(x, n):
    if n == 0:
        return 1
    if n % 2 == 0:
        return pow_r(x ** 2, n // 2)
    else:
        return x * pow_r(x ** 2, (n - 1) // 2)

if __name__ == "__main__":
    n = int(input())
    x = input()
    xList = list(x)
    k = len(xList) - 1
    xNum = int("".join(xList), 2)
    numcnt = popcount(xNum)
    a = numcnt
    wk = 0
    for i in range(n):
        if xList[i] == '0':
            numcnt += 1
        else:
            numcnt -= 1
        xList[i] = str(int(xList[i]) ^ 1)
        xNum = int("".join(xList), 2)
        wk = xNum % numcnt
        if wk == 0:
            print(1)
        else:
            print(f(wk))
        xList[i] = str(int(xList[i]) ^ 1)
        numcnt = a

Submission status: Runtime Error

Solution code:
n = int(input())
ans = [0 for _ in range(10050)]
for i in range(1,105):
	for j in range(1,105):
		for k in range(1,105):
			v = i*i+j*j+k*k+i*j+j*k+k*i
			if v<10050:
				ans[v]+=1
for i in range(n):
	print(ans[i+1])

Submission status: Runtime Error

Solution code:
n = int(input())
x = input()
fl = {}


def popcount(n):
    s = str(format(n, "b"))
    return s.count("1")


def f(n):
    cnt = 0
    while n > 0:
        n = n % popcount(n)
        if str(n) in fl:
            cnt += fl[n]
            break
        cnt += 1

    fl[n] = cnt
    return cnt


def getX(m, i):
    s = (ord(x[i]) % 2 + 1) % 2
    s = x[:i] + str(s) + x[i + 1:]
    return int(s, 2)


for i in range(n):
    rx = getX(x, i)
    print(f(rx))

Submission status: Runtime Error

Solution code:
n = int(input())
cnt  = [0 for i in range(10001)]

for x in range(1,105):
    for y in range(1, 105):
        for z in range(1, 105):
                ans = x**2 + y**2 + z**2 + x*y + y*z + z*x 
                if ans <= 10000:    
                    cnt[ans] +=1
for i in range(1, N+1):  
    print(cnt[i])

Submission status: Runtime Error

Solution code:
L.R,d = map(int,input().split())
ans = 0
for i in range(L,R+1):
  if i % d == 0:
    ans += 1
print(ans)

Submission status: Runtime Error

Solution code:
a = list(map(int, input().split()))
2
if a[0]<=100 and a[1]<=100 and a[2]<=100 and a[0]<=a[1]:
3
  b = a[1]-a[0]
4
  if b%a[2] > 0:
5
    print(int(b/a[2]))
6
    
7
  else:
8
    print(int(b/a[2])+1)

Submission status: Runtime Error

Solution code:
from collections import deque

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

def complement(c):
    if c=='1':
        return '0'
    else:
        return '1'

H = {}

def pop(n):
    return "{0:b}".format(n).count('1')
def toZero(n):
    if n==0:
        return 0
    if n==1:
        return 1
    if n in H:
        return H[n]
    r = 1 + toZero(n%pop(n))
    H[n] = r
    return r

[N] = getInts()
X = input()
Xi = int(X, 2)
X = list(X)

i=0
p = pop(Xi)
while 2**i < Xi:
    toZero(2**i%(p+1))
    toZero(2**i%(p-1))
    i+=1
for i in range(N):
    X[i] = complement(X[i])
    n = int("".join(X),2)
    print(toZero(n))
    X[i] = complement(X[i])

Submission status: Runtime Error

Solution code:
def count1(n):
    nx=bin(n)
    return nx.count('1')

N=int(input())
X=input()
for i in range(N):
    Ni2=X
    if X[i]=='0':
        Ni2=X[:i]+'1'+X[(i+1):] #文字列は変更できない
    else:
        Ni2=X[:i]+'0'+X[(i+1):]
    Ni=int(Ni2,2)
    ans=0
    #print(Ni)
    while Ni!=0:
        Ni=Ni%count1(Ni)
        ans+=1
    print(ans)

Submission status: Runtime Error

Solution code:
import numpy as np
N = int(input())
ans = np.zeros((10**4+5))
for i in range(1,100):
  for j in range(1,100):
    for l in range(1,100):
      f = (i+j)**2+(j+l)**2+(l+i)**2
      if((f%2==0) and (f<=2*10**4)):
        ans[int(f/2)] += 1

for i in range(1,N+1):
  print(int(ans[i]))

Submission status: Runtime Error

Solution code:
l,r,n = map(int,input())
count = 0
for i in range(l,r+1):
  if i % n == 0:
    count += 1
print(count)

Submission status: Runtime Error

Solution code:
n=int(input())
 
ans=[0]*(n+1)
 
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            f= x**2 + y**2 + z**2 + x*y + y*z + z*x
            if f<=n:
                ans[f]+=1
 
for i in range(1,n+1):
    print(ans[i])

Submission status: Runtime Error

Solution code:
# from pprint import pprint
# import math
# import collections
from numba import jit

N = int(input())

loops = 0


# n, k = map(int, input().split(' '))
# a = list(map(int, input().split(' ')))

@jit('i8(i8,i8,i8)', cache=True)
def calc(x, y, z):
    return x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x


res = [0] * 1000000

for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            n = calc(x, y, z)
            res[n - 1] += 1

for i in range(N):
    print(res[i])

Submission status: Runtime Error

Solution code:
N = int(input())
ans = [0] * (N + 5)
for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            tmp = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if N >= tmp:
                ans[tmp] += 1

for i in range(1, N+1):
    print(ans[i])

Submission status: Runtime Error

Solution code:
a = int(input("a"))
b = int(input("b"))
c = int(input("c"))
d = a % c
e = int((b - a - d)/c) + 1
print(e)

Submission status: Runtime Error

Solution code:
ans = 0
for i in range(L,R+1):
    if i%d==0:
        ans += 1
print(ans)

Submission status: Runtime Error

Solution code:
import math

N = int(input())

rtn = int(math.sqrt(N))

used = [[0]*3]*N

count = [0] * N


if N <= 5:
    for x in range(N):
        print(count[x])
else:
    for n in range(6,N):
        #print(n)
        for x in range(1,rtn):
            #print(x)
            xx = x**2
            if xx <= n - 5:
                #print("xpath")
                for y in range(1,rtn):
                    #print(x,y)
                    xy = x*y
                    yy = y**2
                    ysum = xx+yy+xy
                    if ysum <= n-3:
                        #print("ypath")
                        for z in range(1,rtn):
                            #print(x,y,z)
                            zz = z**2
                            xz = x*z
                            yz = y*z
                            result = ysum+zz+xz+yz
                            if result > n:
                                break
                            if result == n:
                                count[n-1] += 1
                                #print("zpath")
                                used.append
    for x in range(N):
        print(count[x])

Submission status: Runtime Error

Solution code:
N = int(input())
l = [0]*N

for j in range(1,101):
  for k in range(1,101):
    for l in range(1,101):
      if (j**2+k**2+l**2+j*k+k*l+l*j)<i:
        l[j**2+k**2+l**2+j*k+k*l+l*j-1]+=1
        
for i in range(N):
  print(l[i])

Submission status: Runtime Error

Solution code:
import math
n = int(input())
for i in range(n):
    count = 0
    for x in range(1, 101):
        for y in range(1, 101):
            for x in range(1, 101):
                if x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x == (i + 1):
                    count += 1
    print(count)

Submission status: Runtime Error

Solution code:


l,r,d = map(input().split(), int)
ans=0

for i = range(l,r+1):
    if (i%d == 0) ans += 1

print(ans)

Submission status: Runtime Error

Solution code:
N = int(input())
A = []
for i in range(1,46):
  for j in range(1,46):
    for k in range(1,46):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*100000
for i in range(10000):
  if A[i] < 10000:
    B[A[i]] += 1
C = B[1:N+1]
[print(i) for i in C]

Submission status: Runtime Error

Solution code:
import math

N = int(input())

rtn = int(math.sqrt(N)) + 1 

used = []

count = [0] * N


if N <= 5:
    for x in range(N):
        print(count(x))
else:
    for n in range(6,N):
        print(n)
        for x in range(1,rtn):
            #print(x)
            xx = x**2
            if xx <= n - 5:
                #print("xpath")
                for y in range(1,rtn):
                    #print(x,y)
                    xy = x*y
                    yy = y**2
                    ysum = xx+yy+xy
                    if ysum <= n-3:
                        #print("ypath")
                        for z in range(1,rtn):
                            #print(x,y,z)
                            zz = z**2
                            xz = x*z
                            yz = y*z
                            result = ysum+zz+xz+yz
                            if result > n:
                                break
                            if result == n:
                                count[n-1] += 1
                                #print("zpath")
    for x in range(N):
        print(count[x])

Submission status: Runtime Error

Solution code:
#include <iostream>
#include <cmath>
using namespace std;
 
int main() {
	int n;
	cin >> n;
	for (int i = 1; i < n + 1; i++) {
		int cnt = 0;
		for (int x = 1; x < 100; x++) {
			for (int y = 1; y < sqrt(i - x); y++) {
				int rema = i - pow(x, 2) - pow(y, 2) - x * y;
				if (rema > 3) {
					for (int z = 1; z < rema; z++) {
						if (pow(z, 2) + (x + y) * z == rema) {
							cnt++;
							break;
						}
					}
				}
				else {
					break;
				}
			}
		}
		cout << cnt << endl;
	}
	return 0;
}

Submission status: Runtime Error

Solution code:
N = int(input())


for i in range(1, N+1):
    sum = 0

    range_x = int((i-5)**0.5)+1 if i-5 >0 else 0
    s = set()
    for x in range(1, range_x):
        flag = False
        if x in s:
            continue
        range_y = int((i-x**2-x-3)**0.5)+1 if i-x**2-2*x-2 > 0 else 0
        for y in range(x, range_y):
            if y in s:
                continue
            range_z = int((i-x**2-y**2-x*y-x-y)**0.5)+1 if i-x**2-y**2-x*y-x-y > 0 else 0
            for z in range(y, range_z):
                if z in s:
                    continue
                if x**2 + y**2 + z**2 + x*y + y*z + z*x == i:
                    num = len(set([x,y,z]))
                    sum += 6 if num == 3 else 3 if num==2 else 1
                    s = s | set([x,y,z])
                    flag = True
                    break
            if flag:
                break

    print(sum)

Submission status: Runtime Error

Solution code:
def dfs(lis,cnt,n):
    if sum(lis)>100:
        return cnt
 
    if(len(lis)==3):
        ans=lis[0]**2+lis[1]**2+lis[2]**2+lis[0]*lis[1]+lis[1]*lis[2]+lis[2]*lis[0]
        if(ans==n):
            cnt+=1
        return cnt
    
    for v in range(1,100):
        lis.append(v)
        cnt=dfs(lis,cnt,n)
        lis.pop()
    
    return cnt
 
 
n= int(input())
for i in range(1,n+1):
    cnt = 0
    print(dfs([],cnt,i))

Submission status: Runtime Error

Solution code:
a = int(input("a"))
b = int(input("b"))
c = int(input("c"))
d = a % c
e = int((b - a - c + d)/c + 1)
print(e)

Submission status: Runtime Error

Solution code:

N = int(input())
X = int(input(), 2)
m = [-1]
p = [-1]
# したからi番目を反転
def reverse_x(i,x):
    a = 1<<i
    b = x^a
    return b
def f(n):
    def popcount(n):
        c = bin(n).count("1")
        return c
    count = 0
    if n % popcount(n) in m:
        count = p[m.index(n%popcount(n))]
        n = 0
    else:
        m.append(n % popcount(n))
    while n != 0:
        n = n % popcount(n)
        count += 1
    p.append(count)
    return count
for i in range(N):
    print(f(reverse_x(N-i-1,X)))

Submission status: Runtime Error

Solution code:
N = int(input())

counts = [0] * 10001
for i in range(1, 311):
    for j in range(1, i + 1):
        for k in range(1, j + 1):
            result = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + k * i
            if result > 10000:
                continue
            if i == j and j == k:
                counts[result] += 1
            elif i == j or j == k:
                counts[result] += 3
            else:
                counts[result] += 6

for n in range(1, N + 1):
    print(counts[n])

Submission status: Runtime Error

Solution code:
N = int(input())

for n in range(1, N+1):
    ans = 0
    for x in range(1, 15):
        for y in range(x, 20):
            for z in range(y, 35):
                f = x**2 + y**2 + z**2 + x*y + x*z + y*z
                if f == n:
                    if x == y == z:
                        ans = 1
                    elif (x == y) or (y == z):
                        ans = 3
                    else:
                        ans = 6
    print(ans)

Submission status: Runtime Error

Solution code:
N = int(input())

for n in range(1,N+1):
  cnt = 0
  for x in range(1,int(n**0.5)):
    for y in range(1,int(n**0.5)):
      for z in range(1,int(n**0.5)):
        if x * x + y * y + z * z + x * y + y * z + z * x == n:
          cnt += 1
  print(cnt)

Submission status: Runtime Error

Solution code:
N=int(input())
la=list(range(2,10**2+1))
l=[]
for i in range(len(la)):
  l.append(la[i]**2)
for n in range(1,N+1):
  if n<6:
    print(0)
  else:
    c=0
    for x in range(len(l)):
      if l[x]*3>2*n:
        break
      else:
        for y in range(x,len(l)):
          if l[x]+2*l[y]>2*n:
            break
          else:
            for z in range(y,x+y+2):
              if z>len(l)-1:
                break
              if l[x]+l[y]+l[z]>2*n:
                break
              else:
                
                if l[x]+l[y]+l[z]==2*n:
                  
                  if (x+y+z)%2==0: 
                      if l[x]==l[y] and l[y]==l[z]:
                        c+=1
                      elif l[x]==l[y] or l[y]==l[z]:
                        c+=3
                      else:
                        c+=6
                   
    print(c)

Submission status: Runtime Error

Solution code:
from collections import defaultdict
def main():
    def f(n):
        if n == 0:
            return 0
        if d[n] != 0:
            return d[n]
        d[n] = f(n % sum(list(map(int, bin(n)[2:])))) + 1
    def rev(i):
        if X[i] == '0':
            print(d[b % (c + 1)] + 1 if (b := (m + (1 << (n - i - 1)))) != 0 else 0)
        else:
            print(d[b % (c - 1)] + 1 if (b := (m - (1 << (n - i - 1)))) != 0 else 0)

    n = int(input())
    X = list(input())
    d = defaultdict(int)
    d[0] = 0
    printl = lambda x, y: print(d[x % y] + 1 if x != 0 else 0)
    for i in range(1, n):
        f(i)
    c = sum(list(map(int, X)))
    m = int(''.join(X), 2)
    for i in range(n):
        rev(i)

if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
N = int(input())
A = []
for i in range(1,46):
  for j in range(1,46):
    for k in range(1,46):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*10001
for i in range(10001):
  if A[i] < 10001:
    B[A[i]] += 1
C = B[1:N+1]
[print(i) for i in C]

Submission status: Runtime Error

Solution code:
import sys
import itertools
import math

if __name__ == "__main__":
    N = int(sys.stdin.readline())

    for i in range(1, N+1):
        ans = 0
        ls = range(1, int(math.sqrt(i)))
        # ls = range(1, int(math.sqrt(i))-2*i)
        # print(ls)
        for (x,y,z) in sorted(itertools.combinations_with_replacement(ls, 3), key=lambda x: (sum(x), max(x))):
            tmp = x**2+y**2+z**2+x*y+y*z+z*x
            if tmp > i:
                break
            elif i == tmp:
                ans += 1
                if x == y and y == z:
                    continue
                elif x == y or y == z or z == x:
                    ans += 3-1
                else:
                    ans += 6-1
        print(ans)

Submission status: Runtime Error

Solution code:
from itertools import product

n = int(input())
def calc(i):
    xs = [a for a in range(1,int(i**0.5))]
    ys = [a for a in range(1,int(i**0.5))]
    zs = [a for a in range(1,int(i**0.5))]
    cnt = 0
    for x,y,z in list(product(xs,ys,zs)):
        if x**2+y**2+z**2+x*y+y*z+z*x == i:
            cnt += 1
    print(cnt)






for i in range(1, n+1):
    calc(i)

Submission status: Runtime Error

Solution code:
N = int(input())

def func(N_max):
#     print(f'N_max:{N_max}')
    cnt = 0
#     flag = False
    ans = []
    
    total = 0

    for x in range(1, N_max):
        x_total = x**2
        if N_max < x_total:
            break
        for y in range(x, N_max):
            y_total = x_total + y**2 + x*y
            if N_max < y_total:
                break

            for z in range(y, N_max):
                total = y_total + z**2+y*z+z*x
                if N_max < total:
                    break
                ans.append((total, change(len(set((x,y,z))))))

    return ans

def change(length):
    if length < 1:
        return 0
    elif length == 1:
        return 1
    elif length == 2:
        return 3
    elif length == 3:
        return 6

data = func(N)
ans_list = [0] * (N)
for d in data:
    ans_list[d[0]-1] = d[1]
for a in ans_list:
    print(a)

Submission status: Runtime Error

Solution code:
L,R, d = int (input())
count = 0
for i in range(L,R):
	d = d*i
    if d in range(L,R):
      count +=1
print count

Submission status: Runtime Error

Solution code:
import numpy as np

N = int(input())
X = input()
px = X.count('1')

def xmod(m):
    res = []
    mod = 1
    for s in reversed(X):
        res.append(mod)
        mod = (mod * 2) % m
    
    return list(reversed(res))

plus = xmod(px+1)
minus = xmod(px-1)
sp = sum(plus)
sm = sum(minus)

for i in range(N):
    if X[i] == '0':
        sum_ = (sp - plus[i]) % (px+1)
        if sum_ == 0:
            print(0)
        else:
            cnt = 0
            while sum_ == 0:
                cnt += 1
                sum_ = sum_ % popcpunt(sum_)
            print(cnt)
    else:
        sum_ = (sm - minus[i]) % (px-1)
        if sum_ == 0:
            print(0)
        else:
            cnt = 0
            while sum_ == 0:
                cnt += 1
                sum_ = sum_ % popcpunt(sum_)
            print(cnt)
      
def popcount(x):
    x = x - ((x >> 1) & 0x5555555555555555)

    x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333)

    x = (x + (x >> 4)) & 0x0f0f0f0f0f0f0f0f # 8bitごと
    x = x + (x >> 8) # 16bitごと
    x = x + (x >> 16) # 32bitごと
    x = x + (x >> 32) # 64bitごと = 全部の合計
    return x & 0x0000007f

Submission status: Runtime Error

Solution code:
from numba import njit

@njit('i8(i8)', cache=True)
def popcount(n):
    a = 0
    while n != 0:
        a += n & 1
        n >>= 1
    return a

@njit('i8(i8)', cache=True)
def fun(n):
    ops = 0
    while n:
        bits = popcount(n)
        n %= bits
        ops += 1
    return ops

def funwrap(n, pc):
    if n == 0:
        return 0
    return 1 + fun(n % pc)

n = int(input())
xs = list(map(int, input()))

from functools import reduce
sm = reduce(lambda x,y: x*2+y, xs)
pc = xs.count(1)

for i in range(n):
    df = 1 if xs[i] ^ 1 == 1 else -1

    dn = 1 << (n - (i + 1))
    smi = sm + dn * df
    pci = pc + df

    print(funwrap(smi, pci))

Submission status: Runtime Error

Solution code:
import numpy as np

N = int(input())

ans = np.zeros(int(N))

if N<10001 and N>3:
    maxa = int(np.sqrt(N-2))
    for x in range(1,maxa):
        for y in range(1,x):
            for z in range(1,y):
                p = x*x+y*y+z*z+x*y+y*z+z*x
                if p<N+1:
                    ans[p-1] += 6


    for x in range(1,maxa):
        for y in range(1,x):
            p = x*x*3+y*y+x*y*2
            if p<N+1:
                ans[p-1] += 3
            p = y*y*3+x*x+x*y*2
            if p<N+1:
                ans[p-1] += 3

    for x in range(1,maxa):
        p = x*x*6
        if p<N+1:
            ans[p-1] += 1

for x in range(0,N):
    print(int(ans[x]))

Submission status: Runtime Error

Solution code:
import math
n=int(input())
 
for i in range (1,n+1):
  ans=0
  for x in range(1,int(i*1/3)):
   for y in range(1,int(i*1/3)):
    for z in range(1,int(i*1/3)):
     if x+y+z==math.sqrt(i+x*y+x*z+y*z):
       ans+=1
       if x==y and y==z:
        break
  print(ans)

Submission status: Runtime Error

Solution code:
N = int(input())
A = []
for i in range(1,46):
  for j in range(1,46):
    for k in range(1,46):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*N
for i in range(N):
  if A[i] < N:
    B[A[i]] += 1
C = B[1:]
[print(i) for i in C]

Submission status: Runtime Error

Solution code:
N = int(input())
X = int(input(),2)

def pcrem(n,cnt):
  if (n==0):
    print(cnt)
    return 0
  pc = bin(n).count("1")
  pcrem(n%pc,cnt+1)

for i in range(N):
  f = X^(1<<N-i-1)
  pcrem(f,0)

Submission status: Runtime Error

Solution code:
import math

def main():
    N = int(input())
    ans = [0]*(N+1)

    end = math.ceil(math.sqrt(N))

    for i in range(3,end+1):
        sn = i
        x = 1
        y = 1
        z = sn - 2
        zt = z
        if(cal(x,y,z) < N):
            ans[cal(x,y,z)] += func(x,y,z)
        while True:
            x = 1
            z = zt
            y += 1
            z -= 1
            zt = z
            if x > z or y > z:
                break
            if(cal(x,y,z) < N):
                ans[cal(x,y,z)] += func(x,y,z)
            for j in range(y - 1):
                if y < x + 1:
                    break
                x += 1
                z -= 1
                if x > z or y > z:
                    break
                if(cal(x,y,z) < N):
                    ans[cal(x,y,z)] += func(x,y,z)
    
    for i in range(1,N+1):
        print(ans[i])
        

def func(x,y,z):
    # print(x,y,z)
    if x == y and y == z and z == x:
        return 1
    elif x != y and y != z and z != x:
        return 6
    else:
        return 3

def cal(x,y,z):
    return x**2+y**2+z**2+x*y+y*z+z*x

main()

Submission status: Runtime Error

Solution code:
L,R,d=input().split()

a = int(L)/int(d)
b = int(R)/int(d)
c = int(b) - int(a) + 1

multiple = []
for i in range(1, c):
    multiple.append((int(a) + i ) *d)
if d=1:
   print(len(multiple)+1)
else:
  print(len(multiple))

Submission status: Runtime Error

Solution code:
N=int(input())
import math

for i in range(1,N+1):
    ans=0
    for x in range(1,33):
        x2=x*x
        for y in range(1,x+1):
                    a=-(3*(x2)+3*(y*y)+2*x*y)/4+i
                    if a>0:
                        b=(math.sqrt(a)-(x+y)/2)
                        if b>0 and b%1==0.0:
                            if x==y:
                                ans+=1
                            else:
                                ans+=2

    print(ans)

Submission status: Runtime Error

Solution code:
def main():

    n = int(input())
    table = [0]*(n+1)
    x = input()
    k = x.count("1")
    for i in range(1,n+1):
        tmp=str(bin(i)).count("1")
        table[i]=i%tmp
    tmp = 0
    j=n
    for i in range(n):
        if(x[i]=="1"):
            tmp += 2**(j-1)
        j-=1
    j=n
    res = [0]*n
    for i in range(n):
        tmp2=k#1の数
        tmp3 = tmp#１０進数表記
        if(x[i]=="1"):
            tmp2-=1
            tmp3 -= (2**(j-i-1))
        else:
            tmp2+=1
            tmp3 += 2**(j-i-1)
        next = tmp3%tmp2

        if(next==0):
            res[i]=1
        else:
            res[i]+=1
            while(next!=0):
                res[i]+=1
                next = table[next]

    for i in range(n):
        print(res[i])


if __name__ == '__main__':
    main()

Submission status: Runtime Error

Solution code:
N=int(input())

for h in range(1,N+1):
    num=0
    for i in range(1,N):
        for j in range(1,N):
            for k in range(1,N):
                if i**2+j**2+k**2+i*j+j*k+k*i==h:
                    num+=1
    print(num)

Submission status: Runtime Error

Solution code:
import math
n=int(input())
 
for i in range (1,n+1):
  ans=0
  for x in range(1,int(i*2/3)):
   for y in range(1,int(i*2/3)):
    for z in range(1,int(i*2/3)):
     if x+y+z==math.sqrt(i+x*y+x*z+y*z):
       ans+=1
       if x==y and y==z:
        break
  print(ans)