from itertools import pairwise
def findCriticalPoints(values):
n = len(values)
if n < 3:
return [-1, -1]
critical_indices = []
for i in range(1, n - 1):
if (values[i] > values[i - 1] and values[i] > values[i + 1]) or \
(values[i] < values[i - 1] and values[i] < values[i + 1]):
critical_indices.append(i)
if len(critical_indices) < 2:
return [-1, -1]
minDist = min(b - a for a, b in pairwise(critical_indices))
maxDist = critical_indices[-1] - critical_indices[0]
return [minDist, maxDist]
n = int(input())
values = list(map(int, input().split()))
result = findCriticalPoints(values)
print(result[0], result[1])
ZnJvbSBpdGVydG9vbHMgaW1wb3J0IHBhaXJ3aXNlCgpkZWYgZmluZENyaXRpY2FsUG9pbnRzKHZhbHVlcyk6CiAgICBuID0gbGVuKHZhbHVlcykKICAgIGlmIG4gPCAzOgogICAgICAgIHJldHVybiBbLTEsIC0xXQoKICAgIGNyaXRpY2FsX2luZGljZXMgPSBbXQoKICAgIGZvciBpIGluIHJhbmdlKDEsIG4gLSAxKToKICAgICAgICBpZiAodmFsdWVzW2ldID4gdmFsdWVzW2kgLSAxXSBhbmQgdmFsdWVzW2ldID4gdmFsdWVzW2kgKyAxXSkgb3IgXAogICAgICAgICAgICh2YWx1ZXNbaV0gPCB2YWx1ZXNbaSAtIDFdIGFuZCB2YWx1ZXNbaV0gPCB2YWx1ZXNbaSArIDFdKToKICAgICAgICAgICAgY3JpdGljYWxfaW5kaWNlcy5hcHBlbmQoaSkKCiAgICBpZiBsZW4oY3JpdGljYWxfaW5kaWNlcykgPCAyOgogICAgICAgIHJldHVybiBbLTEsIC0xXQoKICAgIG1pbkRpc3QgPSBtaW4oYiAtIGEgZm9yIGEsIGIgaW4gcGFpcndpc2UoY3JpdGljYWxfaW5kaWNlcykpCiAgICBtYXhEaXN0ID0gY3JpdGljYWxfaW5kaWNlc1stMV0gLSBjcml0aWNhbF9pbmRpY2VzWzBdCgogICAgcmV0dXJuIFttaW5EaXN0LCBtYXhEaXN0XQoKCm4gPSBpbnQoaW5wdXQoKSkgIAp2YWx1ZXMgPSBsaXN0KG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkpCgpyZXN1bHQgPSBmaW5kQ3JpdGljYWxQb2ludHModmFsdWVzKQpwcmludChyZXN1bHRbMF0sIHJlc3VsdFsxXSkK