Codeforces Round 227 (Div. 2) |
---|

Finished |

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

brute force

greedy

two pointers

*1200

No tag edit access

The problem statement has recently been changed. View the changes.

×
B. George and Round

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputGeorge decided to prepare a Codesecrof round, so he has prepared *m* problems for the round. Let's number the problems with integers 1 through *m*. George estimates the *i*-th problem's complexity by integer *b*_{i}.

To make the round good, he needs to put at least *n* problems there. Besides, he needs to have at least one problem with complexity exactly *a*_{1}, at least one with complexity exactly *a*_{2}, ..., and at least one with complexity exactly *a*_{n}. Of course, the round can also have problems with other complexities.

George has a poor imagination. It's easier for him to make some already prepared problem simpler than to come up with a new one and prepare it. George is magnificent at simplifying problems. He can simplify any already prepared problem with complexity *c* to any positive integer complexity *d* (*c* ≥ *d*), by changing limits on the input data.

However, nothing is so simple. George understood that even if he simplifies some problems, he can run out of problems for a good round. That's why he decided to find out the minimum number of problems he needs to come up with in addition to the *m* he's prepared in order to make a good round. Note that George can come up with a new problem of any complexity.

Input

The first line contains two integers *n* and *m* (1 ≤ *n*, *m* ≤ 3000) — the minimal number of problems in a good round and the number of problems George's prepared. The second line contains space-separated integers *a*_{1}, *a*_{2}, ..., *a*_{n} (1 ≤ *a*_{1} < *a*_{2} < ... < *a*_{n} ≤ 10^{6}) — the requirements for the complexity of the problems in a good round. The third line contains space-separated integers *b*_{1}, *b*_{2}, ..., *b*_{m} (1 ≤ *b*_{1} ≤ *b*_{2}... ≤ *b*_{m} ≤ 10^{6}) — the complexities of the problems prepared by George.

Output

Print a single integer — the answer to the problem.

Examples

Input

3 5

1 2 3

1 2 2 3 3

Output

0

Input

3 5

1 2 3

1 1 1 1 1

Output

2

Input

3 1

2 3 4

1

Output

3

Note

In the first sample the set of the prepared problems meets the requirements for a good round.

In the second sample, it is enough to come up with and prepare two problems with complexities 2 and 3 to get a good round.

In the third sample it is very easy to get a good round if come up with and prepare extra problems with complexities: 2, 3, 4.

Codeforces (c) Copyright 2010-2024 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/05/2024 11:28:46 (f1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|