#include<stdio.h>
#include<stdlib.h>
typedef struct line
{
int a;
struct line *f;
}line,*linek;
int i;
int e,d;
void make(linek n[],int b[])
{
linek p;
for(i=1;i<7;i++)
{
for(e=1;e<7;e++)
{
if(b[e]==0)
{
b[e]=10;
printf("%d ",e-1);
break;
}
}
p=n[e];
while(p!=NULL)
{
p=p->f;
b[p->a]=b[p->a]-1;
}
}
}
int main()
{
linek n[7];
n[0]=(linek)malloc(sizeof(line));
n[0]->a=0;
n[0]->f=NULL;
for(i=1;i<7;i++)
{
n[i]=(linek)malloc(sizeof(line));
n[i]->a=i;
n[i]->f=NULL;
}
linek p,y;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=2;
n[1]->f=p;
y=p;
p=(linek)malloc(sizeof(line));
p->a=3;
p->f=NULL;
y->f=p;
y=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=4;
y->f=p;
p=(linek)malloc(sizeof(line));
p->a=2;
p->f=NULL;
n[3]->f=p;
y=p;
p=(linek)malloc(sizeof(line));
p->a=5;
p->f=NULL;
y->f=p;
p=(linek)malloc(sizeof(line));
p->a=5;
p->f=NULL;
n[4]->f=p;
p=(linek)malloc(sizeof(line));
p->a=4;
p->f=NULL;
n[6]->f=p;
y=p;
p=(linek)malloc(sizeof(line));;
p->a=5;
p->f=NULL;
y->f=p;
int b[7]={10,0,2,1,2,3,0};
make(n,b);
return 0;
}