counter:=prog(end: int, c: chan of int)
{
	i:int;
	for(i=2; i<end; i++)
		c<-=i;
};

filter:=prog(prime: int, listen: chan of int, send: chan of int)
{
	i:int;
	for(;;)
		if((i=<-listen)%prime)
			send<-=i;
};
# BREAK OMIT
sieve:=prog(c: chan of int)
{
	for(;;){
		prime:=<-c;
		print(prime, " ");
		newc:=mk(chan of int);
		begin filter(prime, c, newc);
		c=newc;
	}
};

count:=mk(chan of int);

begin counter(10000, count);
begin sieve(count);
"";
