// https://szkopul.edu.pl/problemset/problem/fYXVXOreVxlXTRoHZJXyXF2l/site/?key=statement
#include <algorithm>
#include <iostream>
#include <vector>
constexpr int INF = 2000000000;
int main() {
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
int n, m;
std::cin >> n >> m;
if (m > n) {
std::cout << 0;
return 0;
}
std::vector<int> v;
v.push_back(INF);
int min;
std::cin >> min;
v.push_back(min);
for (int i = 0; i < n - 1; i++) {
int a;
std::cin >> a;
if (a < min) {
min = a;
}
v.push_back(min);
}
v.push_back(0);
int pos = n + 1;
for (int i = 0; i < m; i++) {
int x;
std::cin >> x;
if (pos > 0) pos--;
while (v[pos] < x)
pos--;
}
std::cout << pos;
return 0;
}