def ub(a,x):
l=-1
r=len(a)
while (r-l)>1:
mid=(r+l)>>1
if a[mid]>x:
r=mid
else:
l=mid
return l
n,k=map(int,input().split())
z=list(map(int,input().split()))
d=list(map(int,input().split()))
for x in d:
x1=ub(z,x)
if x1==-1:
print(0)
print(x1+1)
n, m=map(int, input().split())
a=[[int(x) for x in input().split()] for _ in range(m)]
x=list(map(int, input().split()))
mn=1000000
mni=100000
for j in range(m):
s=0
for i in range(n):
s+=a[i][j]
if s<mn:
mn=s
mni=j
a[i][mni]=x[i]
print(*a[i], sep=' ')
def ggg(a, x):
while l+1<r:
m=(l+r)//2
if a[m]<x:
l=m
r=m
n,k=map(int, input().split())
a=[int(x) for x in input().split()]
b=[int(x) for x in input().split()]
a=a[::-1]
for i in range(k):
if ggg(a, b[i])==-1:
print(n-ggg(a, b[i]))
n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
o = []
for q in b:
l = 0
r = n - 1
w = 0
while l <= r:
m = (l + r) >> 1
if a[m] < q:
w = m + 1
r = m - 1
l = m + 1
o.append(str(w))
print('\n'.join(o))