defsolve():
t =int(input())
n =int(math.ceil(math.sqrt(t)))
n +=1if n %2==0else0# 右上角定位,强制取大于等于t秒的第一个抵达秒数是一个奇数的平方的位置
tmp = n * n - t
if tmp < n:# 上边
y = n //2
x =(n //2)- tmp
elif tmp <(2* n -1):# 左边
tmp -= n
x =-(n //2)
y =(n //2-1)- tmp
elif tmp <(3* n -2):# 下边
tmp -=(2* n -1)
y =-(n //2)
x =-(n //2-1)+ tmp
else:# 只剩下右边
base =(n -2)*(n -2)
tmp = t - base
x =(n //2)
y =(n //2)- tmp
print(x, y)return
voidsolve(){int n, k; cin >> n >> k;
vector<LL>a(n +5);for(int i =1; i <= n;++i){
cin >> a[i];}
vector<vector<LL>>f(n +5,vector<LL>(k +5,-1145141919810));// 魔法的数字,助您日入百亿
LL R =-1145141919810;
f[0][0]=0;for(int i =1; i <= n;++i){for(int j =1; j <=min(i, k);++j){for(int p =max(0, i -6); p <= i -1;++p){
f[i][j]=max(f[i][j], f[p][j -1]+ a[i]);}}
R =max(R, f[i][k]);}
cout << R << endl;}