Која цифра?

На влез ви се дадени N цифри, споени една до друга. На излез треба да отпечатите која е К-тата цифра во најголемиот број кој може да се состави од дадените цифри, за неколку различни вредности на К. Позицијата се брои од почетокот на бројот.

Секогаш ќе ви е дадена барем една не-нулта цифра.

За 20% од поените ќе важи: N ≤ 1000.

За вкупно 60% од поените ќе важи: N ≤ 100 000.



Влез

Во првиот ред ви се дадени два цели броеви: N ( 1 ≤ N ≤ 10 000 000 ) - бројот на цифри, и M ( 1 ≤ M ≤ 100 ) - број кој означува за колку вредности на К треба да ја отпечатите К-тата цифра.
Во вториот ред ви се дадени N цифри, споено.
Во третиот ред ви се дадени М броеви Кi ( 1 ≤ Ki ≤ N ), редните броеви на цифрите кои се бара од вас да ги отпечатите.
Помош за читање на влезот: Слепените цифри може да ги прочитате една по една, ако користите променлива, на пример char c;, со cin>>c; толку пати колку што има цифри.



Излез

Во еден ред, одвоени со по едно празно место, отпечатете М броеви. i-тиот по ред од броевите е Кi-тата цифра од најголемиот број кој може да го составите со цифрите дадени на влез.



Ограничувања

Временско ограничување: 600 milliseconds
Мемориско ограничување: 4 megabytes

Внимавајте: Оваа задача има специфичен (многу мал) мемориски лимит (видете погоре). Вашата програма не може да користи повеќе меморија од дозволеното - имено, тоа може да резултира со грешка при извршување (runtime error, излезен код различен од 0).



Примери


влез
3 2
454
1 3
излез
5 4


Објаснување за примерот:
Броевите кои може да се добијат од дадените цифри се 454, 445 и 544. Меѓу нив најголем е 544, а во тој број цифрата на позиција 1 е 5, додека цифрата на позиција 3 е 4.



 Submit your code