int index[n]={2,3,3};
int visit[n];
int i;
void main()
{ printf("\n");
for(i=0;i<n;i++) visit[i]=0;
while(1){
//Now output(visit,n);
for (i=0;i<n;i++) printf("%d ",visit[i]+1);
printf("\n");
//Now goto next visiting item
for(i=n-1;i>=0;i--)
{ if (visit[i]==index[i] -1) visit[i]=0; else break; }
if(i<0)break; //Finished
visit[i]++;
}
}