#include<stdio.h>
#include<pthread.h>
#include<semaphore.h>
#include<unistd.h>

sem_t mutex;
int c = 0;

void *thread(void *arg){
 sem_wait(&mutex);
 printf("%d%d\n", c, c);
 c++;
 sem_post(&mutex);
 sleep(1);
}

int main(){
 while(1){
  
  sem_init(&mutex, 0, 1);
  pthread_t t1, t2;
  pthread_create(&t1, NULL, thread, NULL);
  sleep(1);
  pthread_create(&t2, NULL, thread, NULL);
  pthread_join(t1, NULL);
  pthread_join(t2, NULL);
  sem_destroy(&mutex);
 }
 return 0;
}