В одной строке записано целое число N (3 ≤ N ≤ 1000000) - сумма числителя и
знаменателю.
Выходные данные:
Выведите два числа: первое - числитель, второе - знаменатель, разделенные пробелом
или "/". И мой код не проходит по времени ,что делать
import math
import sys
sys.setrecursionlimit(10**9)
n=int(input())
nf=n/2
c=nf
v=nf+1
def z1():
global nf #=======5=======
global n #=======10======
global c
global v
if c!=0.0 or c!=0:
c=c-1
if c+v!=n:
if n%2==0.0:
z1()
if n%2!=0.0:
z2()
if c+v==float(n):
if math.gcd(int(c),int(v))!=1:
return z1()
if math.gcd(int(c),int(v))==1:
print(int(c),int(v))
sys.exit(...)
if c==0.0:
c=nf
v=v+1
if c+v!=float(n):
if n%2==0.0:
z1()
if n%2!=0.0:
z2()
if c+v==float(n):
if math.gcd(int(c),int(v))!=1:
return z1()
if math.gcd(int(c),int(v))==1:
print(int(c),int(v))
sys.exit(...)
def z2():
global nf #=======5=======
global n #=======10======
global c
global v
c=nf+0.5
v=nf+0.5
if c!=0.0:
c=c-1
if c+v==float(n):
if math.gcd(int(c),int(v))!=1:
z2()
if math.gcd(int(c),int(v))==1:
print(int(c),int(v))
sys.exit(...)
if c==0.0:
c=nf
v=v+1
if c+v==float(n):
if math.gcd(int(c),int(v))!=1:
z2()
if math.gcd(int(c),int(v))==1:
print(int(c),int(v))
sys.exit(...)
def prov():
global nf #=======5=======
global n #=======10======
global c
global v
if c+v!=float(n):
if n%2==0.0:
z1()
if n%2!=0.0:
z2()
if n%2==0.0:
z1()
else:
z2()