import numpy as np
import matplotlib.pyplot as plt


def u(n) :
    return np.arctan(n+1)-np.arctan(n)
    
# N = list(range(50))
# U = []
# for n in N :
#     U.append(u(n))
# plt.plot(N,U)
# plt.show()

# n = 0
# s = u(0)
# while np.pi/2-np.arctan(2*n+3)>1e-5 :
#     n += 1
#     s += u(2*n+1)
# print(n,s)

def S(n,x) :
    s = 0
    for k in range(n+1) :
        if s+u(k) <= x :
            s += u(k)
    return s
    
# for x in [0,0.5,np.pi/4,1.2] :
#     print(x,S(100,x))