# Calentamiento: ¿cuántos quedaron por debajo?

Antes del problema de esta semana, hay que conocer el juez. Este problema ya viene resuelto en
`solution.cpp`, pero el programa tiene un bug. No hay que escribirlo de nuevo: hay que encontrar el error y
corregirlo con el menor cambio posible.

Una oficina de admisión tiene la lista de puntajes de un examen, ordenada de menor a mayor. Varias personas
preguntan lo mismo con distintos valores: dado un puntaje x, ¿cuántos postulantes sacaron **estrictamente
menos** que x?

## Entrada

La primera línea tiene n y q: la cantidad de puntajes y la cantidad de preguntas.
La segunda línea tiene los n puntajes, ordenados de menor a mayor. Puede haber repetidos.
Las q líneas siguientes tienen un valor x cada una.

## Salida

Una línea por pregunta: la cantidad de puntajes estrictamente menores que x.

## Límites

- 1 ≤ n ≤ 200 000
- 1 ≤ q ≤ 100 000
- 0 ≤ puntaje, x ≤ 1 000 000 000

## Ejemplo

Entrada:

```text
6 3
10 20 20 35 40 55
20
36
5
```

Salida:

```text
1
4
0
```

Hay un puntaje menor que 20, porque los dos 20 no cuentan. Hay cuatro menores que 36, y ninguno menor que 5.

## Tiempo

1 segundo por caso.

## Qué hacer

1. Abran el entorno y corran `env/check.sh` desde la carpeta del curso. Todas las líneas deben decir `ok`.
2. Entren a esta carpeta y corran `make test`. El juez imprime una línea por caso, con su veredicto.
3. Lean qué caso falló y qué palabra esperaba. Copien la entrada y corran el programa a mano:
   `./build/solution < casos/NN.in`.
4. El ejemplo pasa y otros casos no. ¿Qué tienen en común los que fallan? Comparen el comentario de la invariante con
   lo que hace el código.
5. Corrijan el programa y corran `make test` hasta que todos los casos den `AC`.
