/*
# Enjoy the journey #
*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define forq(i , a , b) for (int i = (a); i <= (b); ++i)
#define qrof(i , b , a) for (int i = (a); i >= (b); --i)
#define forr(i , b) forq( i , 0 , b - 1 )
#define F first
#define S second
#define IF ->first
#define IS ->second
#define endl '\n'
#define qqmemset(array , val) memset (array , val , sizeof(array))
#define ALLV(vect) vect.begin() , vect.end()
#define mid (st + en) / 2
#define mid1 (2 * st + en) / 3
#define mid2 (2 * en + st) / 3
#define lef 2 * Node
#define rig lef + 1
mt19937 rng( chrono::steady_clock::now().time_since_epoch().count() );
#define Ran(a, b) rng() % ( (b) - (a) + 1 ) + (a)
ll R = 7 + 1e9 , R1 = 19491001 , R2 = 236 , NUMTESTCASE ;
const ll NN = 10 + 1e6 ;
const double pi = acos(-1.0) ;
int di [8] = {1 , 0 , -1 , 0 , 1 , -1 , 1 , -1 } , dj [8] = {0 , 1 , 0 , -1 , 1 , -1 , -1 , 1 } ;
pair <int, pair <int,int> > Ans , Curr ;
int n , k [5] , x , Len , T [5] , L [5] ;
int main()
{
T [1] = 4 ;
T [2] = 5 ;
T [3] = 8 ;
ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL) ;
cin >> n ;
forq (i , 1 , 3) cin >> k [i] ;
Ans = Curr = {1 , {1 , 1}} ;
cin >> x ;
forq (j , 1 , 3) L [j] = x % T [j] ;
forq (i , 2 , n) {
cin >> x ;
bool Ok = true ;
forq (j , 1 , 3) {
int y = x % T [j] ;
y = abs(y - L [j]) ;
if (y > k [j]) Ok = false ;
L [j] = x % T [j] ;
}
if (Ok) Curr.S.S ++ , Curr.F ++ ;
else Curr = {1 , {i , i}} ;
Ans = max(Ans , Curr) ;
}
cout << Ans.S.F << " " << Ans.S.S ;
return 0;
}
Copy