//eventualna pitanja mozete postaviti na vilaemail@gmail.com
cond ws, wps;
int ss=2,sps=1,sps_id=-1;

DosaoStanovnik(int id) {
	while(1) {
		if(ss>0) {
			ss--;
			break;
		} else if(sps>0 && !wps.queue()) {
			sps--;
			sps_id=id;
			break;
		} else
			ws.wait();
	}
}

OtisaoStanovnik(int id) {
	if(sps_id!=id) {
		ss++;
		if(ws.queue())
			ws.signal();
	} else {
		sps_id=-1;
		sps++;
		if(wps.queue())
			wps.signal();
		else if(ws.queue())
			ws.signal();
	}
}

DosaoPoslovni(int id) {
	while(sps==0)
		wps.wait();
	sps--;
}

OtisaoPoslovni(int id) {
	sps++;
	if(wps.queue())
		wps.signal();
	else if(ws.queue())
		ws.signal();
}