diff --git a/travail_individuel/Belkhiri/GameOfLife/Makefile b/travail_individuel/Belkhiri/GameOfLife/Makefile
index e17f11daea9751b0b718d7a24c09300edcf5fc2b..0e52781044cfbc1db737ab857c43b10fb66d8d01 100644
--- a/travail_individuel/Belkhiri/GameOfLife/Makefile
+++ b/travail_individuel/Belkhiri/GameOfLife/Makefile
@@ -1,6 +1,6 @@
 CC=gcc
 
-LDFLAG=$(shell sdl2-config --cflags --libs) -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
+LDFLAG=$(shell sdl2-config --cflags --libs) -Wall -Wextra -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
 CFLAG=-Wall $(shell sdl2-config --cflags --libs)
 
 EXEC=run
diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run
index 822be8dad667a5b253701b229c6da36d40433f68..6f7bac53ad19988d9b9c8582eb4bb0c0f8d3234f 100755
Binary files a/travail_individuel/Belkhiri/GameOfLife/run and b/travail_individuel/Belkhiri/GameOfLife/run differ
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.c b/travail_individuel/Belkhiri/GameOfLife/src/map.c
index 18514b06d526f8d0a3e783b87d0ece07e298756b..29713a65d5bd051ec1ad3887d987cd5525de4fdb 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.c
@@ -51,14 +51,14 @@ void writeMap(char *filename)
     fclose(f);
 }
 
-int MapToBinary(int ** map)
+long long int MapToBinary(int ** map)
 {
-    int binary = 0;
+    long long int binary = 0;
     for (int i = 0; i < MAPSIZE; i++)
     {
         for (int j = 0; j < MAPSIZE; j++)
         {
-            binary += map[i][j] * pow(2, (i * MAPSIZE + j));
+            binary += (long long int)map[i][j] * powl(2, (i * MAPSIZE + j));
         }
     }
     return binary;
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.h b/travail_individuel/Belkhiri/GameOfLife/src/map.h
index 72d03795076a8132352aff014dee2cc93ace2a33..7a47a8b2fb659c76aafa9d2b53ac8f09b8584c7a 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.h
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.h
@@ -9,6 +9,6 @@ extern int ** map;
 void printMap();
 void initMap();
 void writeMap(char* filename);
-int MapToBinary(int ** map);
+long long int MapToBinary(int ** map);
 
 #endif
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/utility.c b/travail_individuel/Belkhiri/GameOfLife/src/utility.c
index 309a771c82d7dd3f4b33f56ea7b02072b48f2784..378b3babac3150c4106fb22f5c08c15859eac6c0 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/utility.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/utility.c
@@ -4,7 +4,7 @@ int surviveRule[NB_RULES] = {0, 0, 1, 1, 0, 0, 0, 0, 0};
 int bornRule[NB_RULES] = {0, 0, 0, 1, 0, 0, 0, 0, 0};
 int stable;
 
-int BinaryList[LIST_SIZE];
+long long int BinaryList[LIST_SIZE];
 int BinaryListSize;
 
 int survivingNeighbors(int x, int y){
@@ -18,16 +18,28 @@ int survivingNeighbors(int x, int y){
     return count;
 }
 
-void addBinaryToList(int binary){
+void addBinaryToList(long long int binary){
     if (BinaryListSize == LIST_SIZE) return;
     BinaryList[BinaryListSize] = binary;
     BinaryListSize++;
 }
 
+
+
+void printBinaryList(){
+    for (int i=0; i<BinaryListSize; i++){
+        printf("%lld ", BinaryList[i]);
+    }
+    printf("\n");
+}
+
+
 void checkForCycle(){
     int i = 0;
-    while (i < BinaryListSize){
+    printBinaryList();
+    while (i < BinaryListSize-1){
         if (BinaryList[i] == BinaryList[BinaryListSize - 1]){
+            printf("%lld\n %lld\n", BinaryList[i], BinaryList[BinaryListSize - 1]);
             printf("Cycle detected!\n");
             return;
         }
@@ -40,7 +52,7 @@ void updateMap(){
     int newMap[MAPSIZE][MAPSIZE];
     stable = 1;
 
-    int binary = MapToBinary(map);
+    long long int binary = MapToBinary(map);
     addBinaryToList(binary);
 
     for (int i=0; i<MAPSIZE; i++){