import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();//n个数
int q = in.nextInt();//q次查询
int[] a = new int[n];
int[] b = new int[10001];
for(int i = 0;i<n;i++) {
a[i] = in.nextInt();
b[a[i]]++;
}
// 找某个数的起始和终止
while(q>0) {
int k = in.nextInt();
if(b[k] == 0) {
System.out.println(-1+” “+(-1));
}
else if(a[n-1] == k) {
System.out.println(binaryDown(a, n, k)+” “+(n-1));
}
else {
System.out.println(binaryDown(a, n, k)+” “+(binaryUp(a, n, k)-1));
}
q–;
}
in.close();
}
// 找上标
public static int binaryUp(int a[],int n,int x) {
int l = 0;
int r = n-1;
int t = 0;
while(l<=r) {
int mid = (l+r)/2;
if(a[mid]>x ) {
t = mid;
r = mid -1;
}
else {
l = mid + 1;
}
}
return t;
}
// 找下标
public static int binaryDown(int a[],int n,int x) {
int l = 0;
int r = n-1;
int t = 0;
while(l<=r) {
int mid = (l+r)/2;
if(a[mid]==x) {
t = mid;
break;
}
if(a[mid]>=x) {
r = mid-1;
}else {
l = mid+1;
}
}
// System.out.println(t);
int l1 = 0;
int r1 = t;
while(l1<=r1) {
int mid = (l1+r1)/2;
if(a[mid] == x) {
t = mid;
r1 = mid -1;
}
else {
l1 = mid+1;
}
}
return t;
}
}