Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <string.h>
- //////////////////////////////////////
- //////// les prototypres //////////
- //////////////////////////////////////
- void menu_principale(void);
- void menu_pile(void);
- void desempiler(void);
- void menu_FIFO(void);
- void supprimer_FIFO(void);
- void menu_file_p(void);
- void inserer_p(void);
- void supprimer_p(void);
- void afficher_p(void);
- void inserer(char *);
- void initialiser(char *);
- void afficher(char *);
- void current_menu(char *);
- //////////////////////////////////////
- //////// menu principale //////////
- //////////////////////////////////////
- void menu_principale()
- {
- char choix;
- int x=40,y=9,i;
- gotoxy(x-2,y-1);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y-1);
- printf("%c",201);
- gotoxy(x+29,y-1);
- printf("%c",187);
- gotoxy(x+7,y);
- printf("MENU PRINCIPALE\n");
- gotoxy(x-2,++y);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y);
- printf("%c",201);
- gotoxy(x+29,y);
- printf("%c",187);
- gotoxy(x,++y);
- printf("1- Pile\n");
- gotoxy(x,++y);
- printf("2- File d'attente(FIFO)\n");
- gotoxy(x,++y);
- printf("3- File d'attente(Priorite)\n");
- gotoxy(x,++y);
- printf("4- Quitter\n\n");
- gotoxy(x,y+2);
- printf("VOTRE CHOIX :");
- gotoxy(x+13,y+2);
- choix=getch();
- switch(choix) {
- case '1' :
- clrscr();
- menu_pile();
- break;
- case '2' :
- clrscr();
- menu_FIFO();
- break;
- case '3' :
- clrscr();
- menu_file_p();
- break;
- case '4' :
- exit(0);
- break;
- default :
- clrscr();
- system("COLOR 0C");
- gotoxy(x,y+1);
- for(i=0;i<34;i++)
- printf("%c",205);
- gotoxy(x,y+1);
- printf("%c",200);
- gotoxy(x+34,y+1);
- printf("%c",188);
- gotoxy(x+1,y);
- printf(" votre choix n'est pas correct ! \n");
- getch();
- system("COLOR 0B");
- clrscr();
- menu_principale();
- }
- }
- //////////////////////////////////////
- /////////// menu pile /////////////
- //////////////////////////////////////
- void menu_pile()
- {
- char choix,nom[] ="pile.txt";
- int x=40,y=9,i;
- gotoxy(x-2,y-1);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y-1);
- printf("%c",201);
- gotoxy(x+29,y-1);
- printf("%c",187);
- gotoxy(x+9,y);
- printf("MENU PILE\n");
- gotoxy(x-2,++y);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y);
- printf("%c",201);
- gotoxy(x+29,y);
- printf("%c",187);
- gotoxy(x,++y);
- printf("1- initialiser\n");
- gotoxy(x,++y);
- printf("2- empiler(FIFO)\n");
- gotoxy(x,++y);
- printf("3- desempiler\n");
- gotoxy(x,++y);
- printf("4- afficher\n\n");
- gotoxy(x,++y);
- printf("5- retourner\n\n");
- gotoxy(x,++y+1);
- printf("VOTRE CHOIX :");
- gotoxy(x+13,y+1);
- fflush(stdin);
- choix=getch();
- switch(choix) {
- case '1' :
- clrscr();
- initialiser(nom);
- break;
- case '2' :
- clrscr();
- inserer(nom);
- break;
- case '3' :
- clrscr();
- desempiler();
- break;
- case '4' :
- clrscr();
- afficher(nom);
- break;
- case '5' :
- clrscr();
- menu_principale();
- break;
- default :
- clrscr();
- system("COLOR 0C");
- gotoxy(x,y+1);
- for(i=0;i<34;i++)
- printf("%c",205);
- gotoxy(x,y+1);
- printf("%c",200);
- gotoxy(x+34,y+1);
- printf("%c",188);
- gotoxy(x+1,y);
- printf(" votre choix n'est pas correct ! \n");
- getch();
- system("COLOR 0B");
- clrscr();
- menu_pile();
- }
- }
- //////////////////////////////////////
- /////////// menu FIFO /////////////
- //////////////////////////////////////
- void menu_FIFO()
- {
- char choix,nom[] ="file.txt";
- int x=40,y=9,i;
- gotoxy(x-2,y-1);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y-1);
- printf("%c",201);
- gotoxy(x+29,y-1);
- printf("%c",187);
- gotoxy(x+7,y);
- printf("MENU FILE (FIFO)\n");
- gotoxy(x-2,++y);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y);
- printf("%c",201);
- gotoxy(x+29,y);
- printf("%c",187);
- gotoxy(x,++y);
- printf("1- initialiser\n");
- gotoxy(x,++y);
- printf("2- inserer\n");
- gotoxy(x,++y);
- printf("3- supprimer");
- gotoxy(x,++y);
- printf("4- afficher\n\n");
- gotoxy(x,++y);
- printf("5- retourner\n\n");
- gotoxy(x,++y+1);
- printf("VOTRE CHOIX :");
- gotoxy(x+13,y+1);
- choix=getch();
- switch(choix) {
- case '1' :
- clrscr();
- initialiser(nom);
- break;
- case '2' :
- clrscr();
- inserer(nom);
- break;
- case '3' :
- clrscr();
- supprimer_FIFO();
- break;
- case '4' :
- clrscr();
- afficher(nom);
- break;
- case '5' :
- clrscr();
- menu_principale();
- break;
- default :
- clrscr();
- system("COLOR 0C");
- gotoxy(x,y+1);
- for(i=0;i<34;i++)
- printf("%c",205);
- gotoxy(x,y+1);
- printf("%c",200);
- gotoxy(x+34,y+1);
- printf("%c",188);
- gotoxy(x+1,y);
- printf(" votre choix n'est pas correct ! \n");
- getch();
- system("COLOR 0B");
- clrscr();
- menu_FIFO();
- }
- }
- //////////////////////////////////////
- /////// menu File priorité ///////////
- //////////////////////////////////////
- void menu_file_p()
- {
- char choix,nom[] ="filep.txt";
- int x=40,y=9,i;
- gotoxy(x-2,y-1);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y-1);
- printf("%c",201);
- gotoxy(x+29,y-1);
- printf("%c",187);
- gotoxy(x+4,y);
- printf("MENU FILE PAR PRIORITE\n");
- gotoxy(x-2,++y);
- for(i=0;i<32;i++)
- printf("%c",205);
- system("COLOR 0B");
- gotoxy(x-2,y);
- printf("%c",201);
- gotoxy(x+29,y);
- printf("%c",187);
- gotoxy(x,++y);
- printf("1- initialiser\n");
- gotoxy(x,++y);
- printf("2- inserer\n");
- gotoxy(x,++y);
- printf("3- supprimer");
- gotoxy(x,++y);
- printf("4- afficher\n\n");
- gotoxy(x,++y);
- printf("5- retourner\n\n");
- gotoxy(x,++y+1);
- printf("VOTRE CHOIX :");
- gotoxy(x+13,y+1);
- choix=getch();
- switch(choix) {
- case '1' :
- clrscr();
- initialiser(nom);
- break;
- case '2' :
- clrscr();
- inserer_p();
- break;
- case '3' :
- clrscr();
- supprimer_p();
- break;
- case '4' :
- clrscr();
- afficher_p();
- break;
- case '5' :
- clrscr();
- menu_principale();
- break;
- default :
- clrscr();
- system("COLOR 0C");
- gotoxy(x,y+1);
- for(i=0;i<34;i++)
- printf("%c",205);
- gotoxy(x,y+1);
- printf("%c",200);
- gotoxy(x+34,y+1);
- printf("%c",188);
- gotoxy(x+1,y);
- printf(" votre choix n'est pas correct ! \n");
- getch();
- system("COLOR 0B");
- clrscr();
- menu_file_p();
- }
- }
- /////////////////////////////////////--FONCTION D'AIDE--/////////////////////////////////////
- //////////////////////////////////////
- ////////// menu actuelle /////////////
- //////////////////////////////////////
- void current_menu(char nom[]){
- if(strcmp(nom,"pile.txt")==0)
- menu_pile();
- else{
- if(strcmp(nom,"file.txt")==0)
- menu_FIFO();
- else
- menu_file_p();
- }
- }
- /////////////////////////////////////--LES SOUS FONCTIONS--/////////////////////////////////////
- //////////////////////////////////////
- ///// PILE & FIFO & FILE PRIORITE ////
- ///////////initialisation/////////////
- //////////////////////////////////////
- void initialiser(char nom[]){
- FILE *p;
- char reponse;
- int tire,x=25,y=16;
- //system("COLOR 0C");
- gotoxy(x,y+1);
- for(tire=0;tire<64;tire++)
- printf("%c",205);
- gotoxy(x,y+1);
- printf("%c",200);
- gotoxy(x+64,y+1);
- printf("%c",188);
- gotoxy(x+1,y);
- printf("vous etes sur que vous voulez initialiser votre %s?(y/n)\n",nom);
- fflush(stdin);
- gotoxy(x+66,y);
- reponse=getchar();
- switch(reponse){
- case 'y':
- p=fopen(nom,"wt");
- fclose(p);
- break;
- case 'n':
- break;
- default:
- clrscr();
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<33;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+53,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" votre choix n'est pas correct ! \n");
- getch();
- system("COLOR 0B");
- }
- clrscr();
- current_menu(nom);
- }
- //////////////////////////////////////
- /////////// PILE & FIFO ////////////
- //////////////insertion///////////////
- //////////////////////////////////////
- void inserer(char nom[]){
- char old[20],element;
- FILE *p,*ptmp;
- int i=0,j,tire,x=32,y=13;
- p=fopen(nom,"rt");
- if(p!=NULL){
- ptmp=fopen("temp.txt","wt");
- while((old[i]=fgetc(p))!=EOF)
- {
- i++;
- }
- fclose(p);
- gotoxy(x,y);
- printf("> inserer votre element : ");
- gotoxy(x+1,y+1);
- for(tire=0;tire<23;tire++)
- printf("%c",205);
- fflush(stdin);
- gotoxy(x+26,y);
- element=getchar();
- for(j=0;j<i;j++){
- fprintf(ptmp,"%c",old[j]);
- }
- fprintf(ptmp,"%c",element);
- fclose(ptmp);
- clrscr();
- system("COLOR 0A");
- gotoxy(x,y+1);
- for(tire=0;tire<53;tire++)
- printf("%c",205);
- gotoxy(x+1,y);
- printf("votre element: %c a ete bien inserer dans :<%s>\n",element,nom);
- remove(nom);
- rename("temp.txt",nom);
- getch();
- clrscr();
- current_menu(nom);
- }
- else{
- system("COLOR 0A");
- gotoxy(x-6,y+1);
- for(tire=0;tire<35;tire++)
- printf("%c",205);
- gotoxy(x-6,y);
- printf("%s sera cree attendez vous...",nom);
- sleep(3);
- clrscr();
- initialiser(nom);
- clrscr();
- }
- }
- //////////////////////////////////////
- ////////// FILE PRIORITE ///////////
- ///////////initialisation/////////////
- //////////////////////////////////////
- void inserer_p(){
- char elements[20],element,tempc;
- FILE *p,*ptmp;
- int i=0,j,k,priorites[20],tempd,priorite,tire,x=32,y=13;
- p=fopen("filep.txt","rt");
- if(p!=NULL){
- ptmp=fopen("temp.txt","wt");
- while( (fscanf(p,"%c%d",&elements[i],&priorites[i]) !=EOF ))
- {
- i++;
- }
- fclose(p);
- gotoxy(x,y);
- printf("> inserer votre element : ");
- gotoxy(x+2,y+1);
- for(tire=0;tire<22;tire++)
- printf("%c",205);
- fflush(stdin);
- gotoxy(x,y+3);
- printf("> inserer sa priorite : ");
- gotoxy(x+2,y+4);
- for(tire=0;tire<22;tire++)
- printf("%c",205);
- gotoxy(x+26,y);
- fflush(stdin);
- element=getchar();
- gotoxy(x+26,y+3);
- scanf("%d",&priorite);
- elements[i+1]=element;
- priorites[i+1]=priorite;
- for(j=0;j<i+1;j++){
- fprintf(ptmp,"%c%d",elements[j],priorites[j]);
- }
- fclose(ptmp);
- clrscr();
- system("COLOR 0A");
- gotoxy(x-12,y+1);
- for(tire=0;tire<74;tire++)
- printf("%c",205);
- gotoxy(x-12,y);
- printf(" votre element: %c a ete bien inserer dans la file d'attente avec priorite\n",element);
- remove("filep.txt");
- rename("temp.txt","filep.txt");
- getch();
- clrscr();
- menu_file_p();
- }
- else{
- system("COLOR 0A");
- gotoxy(x-6,y+1);
- for(tire=0;tire<30;tire++)
- printf("%c",205);
- gotoxy(x-6,y);
- printf("la file priorite sera cree...");
- sleep(2);
- clrscr();
- initialiser("filep.txt");
- }
- }
- //////////////////////////////////////
- /////////////// PILE ///////////////
- //////////// SUPPRESSION /////////////
- //////////////////////////////////////
- void desempiler(){
- char old[20],c;
- FILE *p,*ptmp;
- int i=0,j,tire,x=25,y=16;
- p=fopen("pile.txt","rt");
- if(p!=NULL){
- ptmp=fopen("temp.txt","wt");
- while((c=fgetc(p))!=EOF)
- {
- old[i]=c;
- i++;
- }
- fclose(p);
- if(i==0)
- {
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<20;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+40,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la pile est vide !");
- getch();
- system("COLOR 0B");
- clrscr();
- }
- else{
- system("COLOR 0A");
- gotoxy(x+20,y+1);
- for(tire=0;tire<17;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+37,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" L'ELEMENT : %c ",old[i-1]);
- getch();
- system("COLOR 0B");
- clrscr();
- }
- for(j=0;j<i-1;j++){
- fprintf(ptmp,"%c",old[j]);
- }
- fclose(ptmp);
- remove("pile.txt");
- rename("temp.txt","pile.txt");
- clrscr();
- menu_pile();
- }
- else{
- fclose(p);
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<23;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+43,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la pile n'existe pas");
- getch();
- system("COLOR 0B");
- clrscr();
- initialiser("pile.txt");
- }
- }
- //////////////////////////////////////
- /////////////// FIFO ///////////////
- ///////////// SUPPRESSION ///////////
- //////////////////////////////////////
- void supprimer_FIFO(){
- char old[20],c;
- FILE *p,*ptmp;
- int i=0,j,tire,x=25,y=16;
- p=fopen("file.txt","rt");
- if(p!=NULL){
- ptmp=fopen("temp.txt","wt");
- while((c=fgetc(p))!=EOF)
- {
- old[i]=c;
- i++;
- }
- fclose(p);
- if(i==0)
- {
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<20;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+40,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la pile est vide !");
- getch();
- system("COLOR 0B");
- clrscr();
- }
- else
- {
- system("COLOR 0A");
- gotoxy(x+20,y+1);
- for(tire=0;tire<17;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+37,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" L'ELEMENT : %c ",old[0]);
- getch();
- system("COLOR 0B");
- clrscr();
- }
- for(j=1;j<i;j++){
- fprintf(ptmp,"%c",old[j]);
- }
- fclose(ptmp);
- fclose(p);
- remove("file.txt");
- rename("temp.txt","file.txt");
- menu_FIFO();
- }
- else{
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<23;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+43,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la file n'existe pas");
- getch();
- system("COLOR 0B");
- clrscr();
- initialiser("file.txt");
- }
- }
- //////////////////////////////////////
- ////////// PILE & FIFO /////////////
- ///////////// AFFICHAGE /////////////
- //////////////////////////////////////
- void afficher(char nom[]){
- char old[20];
- FILE *p;
- int i=0,j,tire,tireb,x=32,y=13,k;
- p=fopen(nom,"rt");
- if(p!=NULL){
- while((old[i]=fgetc(p))!=EOF)
- {
- i++;
- }
- fclose(p);
- if(strcmp("file.txt",nom)==0)
- {
- system("COLOR 0A");
- gotoxy(x-4,y-1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- gotoxy(x-4,y);
- printf("%c",186);
- gotoxy(x-2,y);
- for(j=0;j<i;j++){
- printf(" %c %c",old[j],186);
- }
- gotoxy(x-4,y+1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- }
- else{
- system("COLOR 0A");
- y=8;
- x=x+20;
- for(j=i;j>=0;j--)
- {
- if(i==j)
- {
- gotoxy(x,y);
- printf("-------\n");
- gotoxy(x,++y);
- printf("| |<==SOMMET\n");
- gotoxy(x,++y);
- printf("-------\n");
- }
- else{
- gotoxy(x,++y);
- printf("-------\n");
- gotoxy(x,++y);
- printf("| %c |\n",old[j]);
- gotoxy(x,++y);
- printf("-------\n");
- }
- }
- }
- getch();
- clrscr();
- current_menu(nom);
- }
- else{
- system("COLOR 0A");
- gotoxy(x-6,y+1);
- for(tire=0;tire<35;tire++)
- printf("%c",205);
- gotoxy(x-6,y);
- printf("%s sera cree attendez vous...",nom);
- sleep(3);
- clrscr();
- initialiser(nom);
- clrscr();
- }
- }
- //////////////////////////////////////
- //////////// FILE PRIORITE ///////////
- ///////////// SUPPRESSION ///////////
- //////////////////////////////////////
- void supprimer_p(){
- char priorites[20],elements[20],tempc;
- FILE *p,*ptmp;
- int i=0,j,k,tempd,x=25,y=14,tire;
- p=fopen("filep.txt","rt");
- ptmp=fopen("temp.txt","wt");
- if(p!=NULL){
- while( (fscanf(p,"%c%d",&elements[i],&priorites[i]) !=EOF ))
- {
- i++;
- }
- if(i==0){
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<20;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+40,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la file est vide !");
- getch();
- system("COLOR 0B");
- clrscr();
- fclose(p);
- fclose(ptmp);
- remove("temp.txt");
- menu_file_p();
- }
- else{
- /* k=0;
- for(j=0;j<i;j++){
- if(priorites[k]<priorites[j]){
- tempd=priorites[j];
- priorites[j]=priorites[k];
- priorites[k]=tempd;
- tempc=elements[j];
- elements[j]=elements[k];
- elements[k]=tempc;
- }
- }*/
- fclose(p);
- system("COLOR 0A");
- gotoxy(x+21,y+1);
- for(tire=0;tire<13;tire++)
- printf("%c",205);
- gotoxy(x+21,y);
- printf("> ELEMENT :%c",elements[0]);
- gotoxy(x+21,y+4);
- for(tire=0;tire<13;tire++)
- printf("%c",205);
- gotoxy(x+21,y+3);
- printf("> PRIORITE :%d",priorites[0]);
- getch();
- system("COLOR 0B");
- clrscr();
- for(j=1;j<i;j++){
- fprintf(ptmp,"%c%d",elements[j],priorites[j]);
- }
- fclose(ptmp);
- remove("filep.txt");
- rename("temp.txt","filep.txt");
- sleep(1);
- clrscr();
- menu_file_p();
- }
- }
- else{
- system("COLOR 0C");
- gotoxy(x+20,y+1);
- for(tire=0;tire<23;tire++)
- printf("%c",205);
- gotoxy(x+20,y+1);
- printf("%c",200);
- gotoxy(x+43,y+1);
- printf("%c",188);
- gotoxy(x+21,y);
- printf(" la file n'existe pas");
- getch();
- system("COLOR 0B");
- clrscr();
- initialiser("filep.txt");
- }
- }
- //////////////////////////////////////
- //////////// FILE PRIORITE ///////////
- ///////////// AFFICHAGE /////////////
- //////////////////////////////////////
- void afficher_p(){
- char elements[20];
- FILE *p;
- int i=0,j,priorites[20],tire,x=32,y=13;
- p=fopen("filep.txt","rt");
- if(p!=NULL){
- while( (fscanf(p,"%c%d",&elements[i],&priorites[i]) !=EOF ))
- {
- i++;
- }
- fclose(p);
- for(j=0;j<i;j++){
- system("COLOR 0A");
- gotoxy(x-4,y-1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- gotoxy(x-4,y);
- printf("%c",186);
- gotoxy(x-2,y);
- for(j=0;j<i;j++){
- printf(" %c %c",elements[j],186);
- }
- gotoxy(x-4,y+1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- }
- y=y+3;
- for(j=0;j<i;j++){
- system("COLOR 0A");
- gotoxy(x-4,y-1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- gotoxy(x-4,y);
- printf("%c",186);
- gotoxy(x-2,y);
- for(j=0;j<i;j++){
- printf(" %d %c",priorites[j],186);
- }
- gotoxy(x-4,y+1);
- for(tire=0;tire<i*12;tire++){
- printf("%c",205);
- }
- }
- }
- else{
- system("COLOR 0A");
- gotoxy(x-6,y+1);
- for(tire=0;tire<35;tire++)
- printf("%c",205);
- gotoxy(x-6,y);
- printf("la file avec priorite sera cree ...");
- sleep(3);
- clrscr();
- initialiser("filep.txt");
- clrscr();
- }
- getch();
- clrscr();
- menu_file_p();
- }
- /////////////////////////////////////--LA FONCTION PRINCIPALE--/////////////////////////////////////
- //////////////////////////////////////
- ////////////// main ///////////////
- //////////////////////////////////////
- int main()
- {
- menu_principale();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement