#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	vector<int> arr = {2,2,1,4};
	vector<int> p(arr.size());
	int target = 5;
	unordered_map<int, int> mp;
	int count = 0;
	int largest =0, smallest =arr.size();
	
	
	p[0]=arr[0];
	mp[0]=-1;
	
	
	for(int i=1; i<arr.size(); i++){
		p[i] = p[i-1]+arr[i]; 
	}
	
	for(int j=0; j<arr.size(); j++){
		int d = p[j]-target;
		if(mp.find(d) != mp.end()){
			d=j-mp[d];
			
			smallest=min(d, smallest);
			largest = max(d, largest);
		}
		mp[p[j]]=j;
	}
	
	cout << smallest<< " "<< largest;
	return 0;
}