#include <iostream>
#include <vector>
using namespace std;
vector<int> searchRange(vector<int>& nums, int target) {
vector<int> ans(2, -1);
int s = 0;
int e = nums.size() - 1;
bool found = false;
while (s <= e) {
int mid = s + (e - s) / 2;
if (nums[mid] == target) {
found = true;
break;
} else if (nums[mid] < target) {
s = mid + 1;
} else {
e = mid - 1;
}
}
if (!found) {
return ans;
}
int low = 0;
int high = nums.size() - 1;
int start = -1;
int end = -1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (nums[mid] == target) {
end = mid;
low = mid + 1;
} else if (nums[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
}
}
low = 0;
high = nums.size() - 1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (nums[mid] == target) {
start = mid;
high = mid - 1;
} else if (nums[mid] > target) {
high = mid - 1;
} else {
low = mid + 1;
}
}
ans[0] = start;
ans[1] = end;
return ans;
}
int main() {
int n;
cin>>n;
int target;
cin >> target;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
vector<int> result = searchRange(nums, target);
cout << result[0] << " " << result[1] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgogICAgdmVjdG9yPGludD4gc2VhcmNoUmFuZ2UodmVjdG9yPGludD4mIG51bXMsIGludCB0YXJnZXQpIHsKICAgICAgICB2ZWN0b3I8aW50PiBhbnMoMiwgLTEpOwogICAgICAgIGludCBzID0gMDsKICAgICAgICBpbnQgZSA9IG51bXMuc2l6ZSgpIC0gMTsKICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CgogICAgICAgIAogICAgICAgIHdoaWxlIChzIDw9IGUpIHsKICAgICAgICAgICAgaW50IG1pZCA9IHMgKyAoZSAtIHMpIC8gMjsKICAgICAgICAgICAgaWYgKG51bXNbbWlkXSA9PSB0YXJnZXQpIHsKICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9IGVsc2UgaWYgKG51bXNbbWlkXSA8IHRhcmdldCkgewogICAgICAgICAgICAgICAgcyA9IG1pZCArIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlID0gbWlkIC0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCFmb3VuZCkgewogICAgICAgICAgICByZXR1cm4gYW5zOwogICAgICAgIH0KCiAgICAgICAgaW50IGxvdyA9IDA7CiAgICAgICAgaW50IGhpZ2ggPSBudW1zLnNpemUoKSAtIDE7CiAgICAgICAgaW50IHN0YXJ0ID0gLTE7CiAgICAgICAgaW50IGVuZCA9IC0xOwoKICAgICAgICAKICAgICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICAgICAgaW50IG1pZCA9IGxvdyArIChoaWdoIC0gbG93KSAvIDI7CiAgICAgICAgICAgIGlmIChudW1zW21pZF0gPT0gdGFyZ2V0KSB7CiAgICAgICAgICAgICAgICBlbmQgPSBtaWQ7CiAgICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxOwogICAgICAgICAgICB9IGVsc2UgaWYgKG51bXNbbWlkXSA8IHRhcmdldCkgewogICAgICAgICAgICAgICAgbG93ID0gbWlkICsgMTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQgLSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgIAogICAgICAgIGxvdyA9IDA7CiAgICAgICAgaGlnaCA9IG51bXMuc2l6ZSgpIC0gMTsKICAgICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICAgICAgaW50IG1pZCA9IGxvdyArIChoaWdoIC0gbG93KSAvIDI7CiAgICAgICAgICAgIGlmIChudW1zW21pZF0gPT0gdGFyZ2V0KSB7CiAgICAgICAgICAgICAgICBzdGFydCA9IG1pZDsKICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQgLSAxOwogICAgICAgICAgICB9IGVsc2UgaWYgKG51bXNbbWlkXSA+IHRhcmdldCkgewogICAgICAgICAgICAgICAgaGlnaCA9IG1pZCAtIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBhbnNbMF0gPSBzdGFydDsKICAgICAgICBhbnNbMV0gPSBlbmQ7CgogICAgICAgIHJldHVybiBhbnM7CiAgICB9CgoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIAogICAgICAgIGludCB0YXJnZXQ7CiAgICBjaW4gPj4gdGFyZ2V0OwogICAgCgogICAgdmVjdG9yPGludD4gbnVtcyhuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IG51bXNbaV07CiAgICB9CgoKCiAgIAogICAgdmVjdG9yPGludD4gcmVzdWx0ID0gc2VhcmNoUmFuZ2UobnVtcywgdGFyZ2V0KTsKCiAgICBjb3V0IDw8IHJlc3VsdFswXSA8PCAiICIgPDwgcmVzdWx0WzFdIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0=