diff --git a/Algos_1/a.out b/Algos_1/a.out
index ce356845c9f1c0a90b7087c5a90462f4120f8863..90baa49ed092241204268204f4299208bdeb685f 100755
Binary files a/Algos_1/a.out and b/Algos_1/a.out differ
diff --git a/Algos_1/algos.c b/Algos_1/algos.c
index b5ea19f010487b2665558513ae508c27399be957..acc21a9f09d55afad868c17d48202b5a742f2b12 100644
--- a/Algos_1/algos.c
+++ b/Algos_1/algos.c
@@ -3,8 +3,7 @@
 
 void triInsertion(long* A, size_t n){
     long cle = 0;
-    size_t max = 0;
-    max--;
+    size_t max = 0; max--;
     for(size_t i = 1; i<n; i++){
         cle=A[i];
         size_t j = i - 1;
@@ -75,33 +74,30 @@ void triFusion(long * A, size_t n){
 }
 
 void sousTriRapide(long* A, size_t p, size_t r) {
-    if (p<(r-1)) {
-        size_t q = partition(A, p, r);
-        sousTriRapide(A, p, q);
-        sousTriRapide(A, q+1, r);
+    size_t max = 0; max--;
+    if(r-1 != max){
+        if (p<(r-1)) {
+            size_t q = partition(A, p, r);
+            sousTriRapide(A, p, q);
+            sousTriRapide(A, q+1, r);
+        }
     }
+    
 }
 
 size_t partition(long* A, size_t p, size_t r) {
-    printf("r >>>>>>>>>> %d\n", r);
-    size_t max = 0;
-    max--;
-    size_t pivot = 0;
-    if(r-1 != max){
-        pivot = A[r-1];
-    } 
+    long pivot = A[r-1];
     
     size_t i = p;
-    long temp;
-    for (size_t j = p; j < r-2; j++) {
+    for (size_t j = p; j <= r-2; j++) {
         if (A[j] <= pivot) {
-            temp = A[i];
+            long temp = A[i];
             A[i] = A[j];
             A[j] = temp;
             i++;
         }
     }
-    temp = A[i];
+    long temp = A[i];
     A[i] = A[r-1];
     A[r-1] = temp;
     return i;
diff --git a/Algos_1/algos.o b/Algos_1/algos.o
index fcca01db38feaff275db7d0b477cb2e77af7d5ac..d6ac934c984060b2a1e49881fa9ffa3c0df8ed03 100644
Binary files a/Algos_1/algos.o and b/Algos_1/algos.o differ
diff --git a/Algos_1/main.c b/Algos_1/main.c
index b60a072b2fe67091855531968b4fc9a3f33bbf9c..c53b2293a0e0db148af8e6ee2c8de3e209d8cd62 100644
--- a/Algos_1/main.c
+++ b/Algos_1/main.c
@@ -17,7 +17,7 @@ int readToTab(long* tab, char* file){
         if(temp != ' '){
             tmp[x] = temp;
             x++;
-            n++;
+            
         }
         else if(temp == ' '){
             long t = atol(tmp);
@@ -25,6 +25,7 @@ int readToTab(long* tab, char* file){
             memset(tmp, 0, 1000);
             j++;
             x=0;
+            n++;
         }
         read(fd,&temp,sizeof(char));
     }
@@ -44,7 +45,7 @@ int main(int argc, char **argv){
     }
     printf("\n");
 
-    if((strcmp(argv[1], "--insertion") == 0)){
+    if((strcmp(argv[1], "--insertion") == 0) || strcmp(argv[1], "-i")== 0){
         triInsertion(tab, n);
         printf("Insertion : ");
         for(int i  = 0; i<n; i++){
@@ -52,7 +53,7 @@ int main(int argc, char **argv){
         }
         printf("\n");
     }
-    else if((strcmp(argv[1], "--fusion")== 0)){
+    else if(strcmp(argv[1], "--fusion")== 0 || strcmp(argv[1], "-f")== 0){
         triFusion(tab, n);
         printf("Fusion : ");
         for(int i  = 0; i<n; i++){
@@ -60,9 +61,30 @@ int main(int argc, char **argv){
         }
         printf("\n");
     }
-    else if((strcmp(argv[1], "--rapide")== 0)){
+    else if((strcmp(argv[1], "--rapide")== 0) || strcmp(argv[1], "-r")== 0){
+        triRapide(tab, n);
+        printf("Rapide    : ");
+        for(int i  = 0; i<n; i++){
+            printf("%ld,", tab[i]);
+        }
+        printf("\n");
+    }
+    else if (strcmp(argv[1], "-a") == 0)
+    {
+        triInsertion(tab, n);
+        printf("Insertion : ");
+        for(int i  = 0; i<n; i++){
+            printf("%ld,", tab[i]);
+        }
+        printf("\n");
+        triFusion(tab, n);
+        printf("Fusion    : ");
+        for(int i  = 0; i<n; i++){
+            printf("%ld,", tab[i]);
+        }
+        printf("\n");
         triRapide(tab, n);
-        printf("Rapide : ");
+        printf("Rapide    : ");
         for(int i  = 0; i<n; i++){
             printf("%ld,", tab[i]);
         }
diff --git a/Algos_1/makefile b/Algos_1/makefile
index 966a11e83b37b2412898baeb92fce69d49ecec01..09e964d3506be09330036bbbeebdd2c8de9f57c3 100644
--- a/Algos_1/makefile
+++ b/Algos_1/makefile
@@ -1,7 +1,7 @@
-all: algo
+all: tri
 
-algo: main.c algos.o
-	gcc -Wall main.c algos.o -Wall
+tri: main.c algos.o
+	gcc -Wall main.c algos.o -Wall -o tri
 
 algos: algos.c algos.h
 	gcc -c algos.c algos.h -Wall
diff --git a/Algos_1/tabs/big_tab_1.txt b/Algos_1/tabs/big_tab_1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..95d580ca431fb314e62a4864d8f49d9cc7afbb5f
--- /dev/null
+++ b/Algos_1/tabs/big_tab_1.txt
@@ -0,0 +1 @@
+40 47 12 2 25 3 14 65 48 10 1 56 94 45 36 27 6 7 19 16 24 38 37 11 78 5 18 54 20 21 82 42 32 22 19 9 53 41 99 125 111 248 33 .
\ No newline at end of file
diff --git a/Algos_1/tabs/medium_tab_1.txt b/Algos_1/tabs/medium_tab_1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..68eab9009f11f566f89874593f8edf6711ba2dc1
--- /dev/null
+++ b/Algos_1/tabs/medium_tab_1.txt
@@ -0,0 +1 @@
+40 47 12 2 25 3 14 65 48 10 1 56 94 45 36 27 6 7 19 16 24 38 37 11 . 
\ No newline at end of file
diff --git a/Algos_1/test.txt b/Algos_1/tabs/test.txt
similarity index 100%
rename from Algos_1/test.txt
rename to Algos_1/tabs/test.txt
diff --git a/Algos_1/tri b/Algos_1/tri
new file mode 100755
index 0000000000000000000000000000000000000000..b43602ba8d20453637fc51aff0060a392b1dd8eb
Binary files /dev/null and b/Algos_1/tri differ