Help with my python code

Hi im new with python and when i tried to execute my code, i receive an error. Can you help me please ?
My python code :

from random import random
import numpy as np
from math import*
import matplotlib as plt
from scipy.integrate import odeint
import numpy.random as rnd

Xmax=4
Xmin=1
N=5
A=2000
B=0.08
r=0.2
K=120000
V=1
tau=0.5
m=80
X0=rnd.random((2N,))(Xmax-Xmin)+Xmin
V0=rnd.random((2*N,))
Y0=np.concatenate((X0,V0))
Z=[5,2]
temps=np.linspace(0,100,1000)

def vec(a,b):
return b-a

def ps(u,v):
return np.inner(u,v)

def norme(v):
return sqrt(ps(v,v))

def unitaire(v):
return (1/norme(v))*v

def dir (A,B):
return unitaire(vec(A,B))

def g(x):
if x>0:
return 0
else :
return x

def f(i,j):
if i==j :
return 0
else :
h=norme(vec(i,j))
D=h-2r
return (A
exp(-D/B)+K*g(D))*dir(i,j)

def fw(i,k):
h=norme(vec(i,k))
D=h-r
return (Aexp(-D/B)+Kg(D))*dir(i,k)

def S(i):
C,E=0,0
for k in range(2N):
C=C+fw(X0[i],k)
for j in range(2
N):
E=E+f(X0[i],X0[j])
return m*(V-V0[i])*dir(X0[i],Z)+C+E

def F(Y,t):
X=Y[0:2N]
V=Y[2
N:4N]
X1=V
V1=[]
for i in range (2
N):
V1=V1+[(1/m)*S(i)]
return np.concatenate((X1,V1))

Y1=odeint(F,Y0,temps)
plt.plot(temps,Y)
plt.show()

And here the logs i received :

Traceback (most recent call last):
File “/storage/emulated/0/Documents/Tipe/tipe.py”, line 77, in
Y1=odeint(F,Y0,temps)
File “/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages/scipy/integrate/odepack.py”, line 241, in odeint
output = _odepack.odeint(func, y0, t, args, Dfun, col_deriv, ml, mu,
File “/storage/emulated/0/Documents/Tipe/tipe.py”, line 75, in F
return np.concatenate((X1,V1))
File “<array_function internals>”, line 5, in concatenate
ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 1 dimension(s) and the array at index 1 has 2 dimension(s)