// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
map<int, vector<int>> a;
map<int, int> dbe, dbm;
for (int i = 1; i <= m - 1; i++) {
int pont;
cin >> pont;
a[pont].push_back(i);
}
int p;
cin >> p;
int laste = 100001, lastm = 0;
for (pair<int, vector<int>> lo : a) {
if (lo.first > p && laste == 100001) laste = lo.first;
if (lo.first < p) lastm = lo.first;
}
/*
for (int lo : a[laste]) {
dbe[lo]++;
}
for (int lo : a[lastm]) {
dbm[lo]++;
}
*/
vector<int> ee = a[laste], mm = a[lastm];
int ie = m, im = m;
for (int i = m + 1; i <= n; i++) {
int pont;
cin >> pont;
if (pont == laste) ee.push_back(i);
if (pont == lastm) mm.push_back(i);
if (pont < laste && pont > p) {
for (int lo : ee) dbe[lo] += i - ie;
ie = i;
ee = {i};
laste = pont;
}
if (pont > lastm && pont < p) {
for (int lo : mm) dbm[lo] += i - im;
im = i;
mm = {i};
lastm = pont;
}
}
for (int lo : ee) dbe[lo] += n + 1 - ie;
for (int lo : mm) dbm[lo] += n + 1 - im;
int be = -1;
for (pair<int, int> lo : dbe) {
if (lo.second > dbe[be]) be = lo.first;
}
if (be == -1) cout << "-1\n";
else cout << be << " " << dbe[be] << "\n";
int bm = -1;
for (pair<int, int> lo : dbm) {
if (lo.second > dbm[bm]) bm = lo.first;
}
if (bm == -1) cout << "-1\n";
else cout << bm << " " << dbm[bm] << "\n";
}