E - Un problema muy difícil

Languages: C, C++, Java, JavaScript, Haskell, Tiger, Python, Pascal, C#
Time & Memory limits: (details)

Dado un array de números, tu tarea consiste en encontrar la k-ésima ocurrencia (de izquierda a derecha) de un entero v. Para hacer el problema un poco más complicado (e interesante), tienes que responder varios pedidos.

Input

La primera línea contiene dos enteros n, m (1 <= n, m <= 100,000), que representan la cantidad de elementos del array y la cantidad de pedidos a responder. La siguiente línea contiene n enteros positivos no mayores que 1,000,000. Cada una de las siguientes m líneas contiene dos enteros k y v (1 <= k <= n, 1 <= v <= 1,000,000)

Output

Para cada pregunta, imprime el índice (basado en 1) de la ocurrencia. Si tal ocurrencia no existe, entonces imprime el valor 0.

Sample test(s)

Input
8 4 1 3 2 2 4 3 2 1 1 3 2 4 3 2 4 2
Output
2 0 7 0