Problem p02690 (python)

Fixed submission:
X = int(input())
for A in range(-200,200):
    for B in range(-200,200):
        if pow(A,5)-pow(B,5)==X:
            print(A,B)
            break
    else:
        continue
    break

Buggy submission (verdict: Runtime Error):
import collections
import sys
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr


X = int(input())
if X == 1:
    print("1 0")
elif X == 2:
    print("2 0")
else:
    for i in range(sys.maxsize):#i = B
        c = factorization(X+pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
        c = factorization(X-pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i * -1
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
    print(A,B)

Buggy submission (verdict: Runtime Error):
import collections
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr


X = int(input())
if X == 1:
    print("1 0")
else:
    for i in range(X):#i = B
        c = factorization(X+pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
        c = factorization(X-pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i * -1
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
    print(A,B)

Buggy submission (verdict: Runtime Error):
import collections
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr


X = int(input())
if X == 1:
    print("1 0")
else:
    for i in range(X):#i = B
        c = factorization(X+pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
        c = factorization(X-pow(i,5))
        flag = 0
        for j in range(len(c)):
            if c[j][1] % 5 != 0:
                flag = 1
                break
        if flag ==0:
            B = i
            A = 1
            for j in range(len(c)):
                A *= c[j][0]
            break
    print(A,B)