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

struct maillon {
	int valeur;
	struct maillon* suiv;
};

typedef struct maillon maillon;

maillon* ajouteDebut(maillon *chaine, int entier){
	maillon *nouveauMaillon=malloc(sizeof(maillon));
	nouveauMaillon->valeur=entier;
	nouveauMaillon->suiv=chaine;
	return nouveauMaillon;
}

void afficheListe(maillon *chaine){
	maillon *affichage=malloc(sizeof(maillon));
	affichage=chaine;
	while(affichage->suiv!=NULL){
		printf("%hu ",affichage->valeur);
		affichage=affichage->suiv;
	} printf("\n\n");
	free(affichage);
}

maillon* fusionImperative(maillon *chaine1, maillon *chaine2){
	int i;

}

int main(int argc, char const *argv[])
{
	maillon *liste1=malloc(sizeof(maillon));
	maillon *liste2=malloc(sizeof(maillon));
	int i;

	for(i=30;i>=0;i--){
		if (i%2==1){
			if (i<=24 && i%9==0){
				liste1=ajouteDebut(liste1,i);
			} else{
				liste2=ajouteDebut (liste2,i);
			}
		}else{
				liste1=ajouteDebut (liste1,i);
		}
	} afficheListe(liste1);
	afficheListe(liste2);
	return 0;
}