Buggy python submission (verdict: Time Limit Exceeded):
def solve(n):
	ans=0
	for a in range(n+1):
		for b in range(n+1):
			if a+b>n:
				break
			for c in range(n+1):
				if n-(a+b+c)>=0:
					ans+=1
				else:
					break
	return ans


while True:
	try:
		n=int(input())
		print(solve(n))
	except EOFError:
		break

Fixed submission:
M = 1000
DM = M * 2 + 1
 
def count(n):
    global M
    res = n + 1
    if n > M:
        res -= (n-M) * 2
    return res
 
def solve(n):
    cnt = 0
    for a in range(min(DM, n), -1, -1):
        b = n - a
        if b > DM:
            break
        cnt += count(a) * count(b)
    return cnt
 
while True:
    try:
        l = input()
    except EOFError:
        break
    nm = int(l)
    print(solve(nm))

Buggy python submission (verdict: Time Limit Exceeded):
def solve(n):
	ans=0
	for a in range(int(n/4)+1):
		for b in range(a,int(n/3)+1):
			for c in range(b,int(n/2)+1):
				for d in range(c,n+1):
					if a+b+c+d==n:
						if a==b==c==d:
							ans+=1
						elif a==b==c or b==c==d:
							ans+=4
						elif a==b and c==d:
							ans+=6
						elif (a==b and c!=d) or (b==c) or (a!=b and c==d):
							ans+=12
						else:
							ans+=24
	return ans 


while True:
	try:
		n=int(input())
		print(solve(n))
	except EOFError:
		break

Fixed submission:
M = 1000
DM = M * 2 + 1
 
def count(n):
    global M
    res = n + 1
    if n > M:
        res -= (n-M) * 2
    return res
 
def solve(n):
    cnt = 0
    for a in range(min(DM, n), -1, -1):
        b = n - a
        if b > DM:
            break
        cnt += count(a) * count(b)
    return cnt
 
while True:
    try:
        l = input()
    except EOFError:
        break
    nm = int(l)
    print(solve(nm))

Buggy python submission (verdict: Time Limit Exceeded):
def solve(n):
	ans=0
	for a in range(int(n/4)+1):
		for b in range(a,int(n/3)+1):
			for c in range(b,int(n/2)+1):
				d=n-(a+b+c)
				if d>=c:
					if a==b==c==d:
						ans+=1#4!/4!
					elif a==b==c or b==c==d:
						ans+=4#4!/3!
					elif a==b and c==d:
						ans+=6#4!/(2!*2!)
					elif (a==b and c!=d) or (b==c) or (a!=b and c==d):
						ans+=12#4!/2!
					else:
						ans+=24#4!
				else:
					break
	return ans 


while True:
	try:
		n=int(input())
		print(solve(n))
	except EOFError:
		break

Fixed submission:
M = 1000
DM = M * 2 + 1
 
def count(n):
    global M
    res = n + 1
    if n > M:
        res -= (n-M) * 2
    return res
 
def solve(n):
    cnt = 0
    for a in range(min(DM, n), -1, -1):
        b = n - a
        if b > DM:
            break
        cnt += count(a) * count(b)
    return cnt
 
while True:
    try:
        l = input()
    except EOFError:
        break
    nm = int(l)
    print(solve(nm))

Buggy python submission (verdict: Time Limit Exceeded):
def solve(n):
	ans=0
	for a in range(int(n/4)+1):
		for b in range(a,int(n/3)+1):
			if b>1000:
				break
			for c in range(b,int(n/2)+1):
				if c>1000:
					break
				d=n-(a+b+c)
				if d>=c:
					if a==b==c==d:
						ans+=1#4!/4!
					elif a==b==c or b==c==d:
						ans+=4#4!/3!
					elif a==b and c==d:
						ans+=6#4!/(2!*2!)
					elif (a==b and c!=d) or (b==c) or (a!=b and c==d):
						ans+=12#4!/2!
					else:
						ans+=24#4!
				else:
					break
	return ans 


while True:
	try:
		n=int(input())
		print(solve(n))
	except EOFError:
		break

Fixed submission:
M = 1000
DM = M * 2 + 1
 
def count(n):
    global M
    res = n + 1
    if n > M:
        res -= (n-M) * 2
    return res
 
def solve(n):
    cnt = 0
    for a in range(min(DM, n), -1, -1):
        b = n - a
        if b > DM:
            break
        cnt += count(a) * count(b)
    return cnt
 
while True:
    try:
        l = input()
    except EOFError:
        break
    nm = int(l)
    print(solve(nm))