#include <map>
#include <set>
#include <list>
#include <cmath>
#include <queue>
#include <stack>
#include <cstdio>
#include <string>
#include <vector>
#include <complex>
#include <cstdlib>
#include <cstring>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <functional>

#define mp       make_pair
#define pb       push_back
#define all(x)   (x).begin(),(x).end()
#define rep(i,n) for(int i=0;i<(n);i++)
#define repi(i,a,b) for(int i = (a); i < (b); i++)

using namespace std;

typedef    long long          ll;
typedef    unsigned long long ull;
typedef    vector<bool>       vb;
typedef    vector<int>        vi;
typedef    vector<vb>         vvb;
typedef    vector<vi>         vvi;
typedef    pair<int,int>      pii;

const int INF=1<<29;
const double EPS=1e-9;

const int dx[]={1,0,-1,0},dy[]={0,-1,0,1};

int main(){
	double a,b;
	int la,ra,lb,rb,lc,rc,ld,rd;
	la=ra=lb=rb=lc=rc=ld=rd=0;
	while(cin>>a>>b){
		if(a>=1.1){
			la++;
		}else if(a>=0.6&&a <1.1){
			lb++;
		}else if(a>=0.2&&a <0.6){
			lc++;
		}else{
			ld++;
		}
		if(b>=1.1){
			ra++;
		}else if(b>=0.6&&b <1.1){
			rb++;
		}else if(b>=0.2&&b <0.6){
			rc++;
		}else{
			rd++;
		}
	}
	cout <<la<<" "<<ra<<endl;
	cout <<lb<<" "<<rb<<endl;
	cout <<lc<<" "<<rc<<endl;
	cout <<ld<<" "<<rd<<endl;
	return 0;
}