#include<iostream>
using namespace std;
/*
	expression : ( 1 <= x <= 3) is evaluated follow the steps below.
    0. (x is Integer, and value is 2.)
	1. (1 <= x) <= 3
	2. (true ) <= 3
	3. (1) <= 3 // In C++, true : Boolean is considered 1 : Integer
	4. true
	
	if you want to say  "x is greater than 2, and less than 3",
	you should write this::
	( 2 <= x && x <= 3)
	
	2.In this problem, beause test case is so weak, but
	Generally, when you compare double type integer, 
	you should use eps which means very small value.
	e.g 
	double a = 1.0;
	double eps = 0.000000000000001
	print (a == 1.0) <--- false
	print (abs(a - 1.0)  > eps)  <---- true;
	
*/
int main(){
    double x,y;
    int Aleft=0,Bleft=0,Cleft=0,Dleft=0;
    int Aright=0,Bright=0,Cright=0,Dright=0;
    
    while(cin >> x >> y){
    	
    if(x>=1.1){Aleft++;}
    else if(0.6<=x && x<1.1){Bleft++;}
    else if(0.2<=x && x<0.6){Cleft++;}
    else{	Dleft++; }
    
    if(y>=1.1){Aright++;}
    else if(0.6<=y && y<1.1){Bright++;}
    else if(0.2<=y && y<0.6){Cright++;}
    else{Dright++;}
    }

    cout << Aleft << " " << Aright << endl;
    cout << Bleft << " " << Bright << endl;
    cout << Cleft << " " << Cright << endl;
    cout << Dleft << " " << Dright << endl;

    return 0;
}
