// FIFO IO Buffer of digits.

#include<stdlib.h>
#include<stdio.h>

#define MAX 64

int buf[MAX], in=0, out=0;

char empty() { return in==out; }
char empty_buf() { return in=out; }
int front() { return buf[out]; }

void enqueue(int d) { 
  if((in+1)%MAX==out) { fprintf(stderr,"Buf full!\n"); exit(1); }
  else { buf[in]=d; in=(in+1)%MAX; }
}

int dequeue() {
  int res;
  if(empty()) { fprintf(stderr,"Buf empty !\n"); }
  else { res=buf[out]; out=(out+1)%MAX; return res; }
}

void print_buf() {
  int i;
  for(i=out;i!=in;i=(i+1)%MAX) printf("%c",(char)buf[i]); 
  fflush(stdout); 
  //printf("\n");
}

void WordBuf() {
  int d;
  printf("\nscan...\n\n");
  while( !ferror(stdin) && !feof(stdin)) { 
    scanf("%d",&d);
    enqueue(d); 
    //printf("_%s_",(char *)&d);
    if((char)d==' ') { print_buf(); empty_buf(); }
    }
    printf("\n\nDone.\n");
}

main() { WordBuf(); }



