#include using namespace std; const int N = 100010; int n; int q[N]; // 左闭右开 [ ) int lower_bound(int l, int r, int x) { while (l < r) { int mid = (l + r) >> 1; if (q[mid] >= x) r = mid; else l = mid + 1; } return l; } int upper_bound(int l, int r, int x) { while (l < r) { int mid = (l + r) >> 1; if (q[mid] > x) r = mid; else l = mid + 1; } return l; } int main() { int T; cin >> n >> T; for (int i = 0; i < n; i++) cin >> q[i]; while (T--) { int x; cin >> x; int i = lower_bound(0, n, x); //[0,n) if (q[i] != x) { puts("-1 -1"); continue; } printf("%d ", i); i = upper_bound(0, n, x); printf("%d\n", i - 1); } return 0; }