#include<iostream>
#include<fstream>
#include<sstream>
#include<cstdio>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<deque>
#include<map>
#include<set>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdlib>
#include<climits>
#include<utility>
#include<cctype>
using namespace std;

#define ull unsigned long long
#define ll long long
#define rep(i,j) for(int i=0;i<j;++i)
#define loop(i,a,j) for(int i=a;i<j;++i)
#define mpi(it,table,T,E) for(map<T,E>::iterator it = table.begin();it!=table.end();++it)
#define PI 3.141592654
/*
ifstream fin("input.txt");
ofstream fout("output.txt");
#define cin fin
#define cout fout
*/


int main(){
	int eye[4][2];
	memset(eye,0,sizeof(eye));
	double h,m;
	while(scanf("%lf %lf",&h,&m) != EOF){
		if( h >= 1.1 ){
			eye[0][0]++;
		}else if( 0.6 <= h && h < 1.1){
			eye[1][0]++;
		}else if( 0.2 <= h && h < 0.6){
			eye[2][0]++;
		}else{
			eye[3][0]++;
		}

		if( m >= 1.1 ){
			eye[0][1]++;
		}else if( 0.6 <= m && m < 1.1){
			eye[1][1]++;
		}else if( 0.2 <= m && m < 0.6){
			eye[2][1]++;
		}else{
			eye[3][1]++;
		}

	}
	
	rep(i,4){
		printf("%d %d\n",eye[i][0],eye[i][1]);
	}
	
	return 0;
}