diff --git a/Algos_1/a.out b/Algos_1/a.out
new file mode 100755
index 0000000000000000000000000000000000000000..ff6643c3c1a68569c95521e4a8374e0627eaf525
Binary files /dev/null and b/Algos_1/a.out differ
diff --git a/Algos_1/algos.c b/Algos_1/algos.c
index 0235e354a5d050d310e6887479407eb8932c5b10..f5cbd3df03ffca9c0d95f6b519c3a1d669b9a83f 100644
--- a/Algos_1/algos.c
+++ b/Algos_1/algos.c
@@ -1,11 +1,11 @@
 #include "algos.h"
 #include <string.h>
 
-void triInsertion(int* A, int n){
-    int cle = 0;
-    for(int i = 1; i<n; i++){
+void triInsertion(long* A, size_t n){
+    long cle = 0;
+    for(size_t i = 1; i<n; i++){
         cle=A[i];
-        int j = i - 1;
+        size_t j = i - 1;
         while (j >= 0 && A[j] > cle){
             A[j+1] = A[j];
             j = j-1;
@@ -15,24 +15,23 @@ void triInsertion(int* A, int n){
 }
 
 
-void sousTriFusion(int * A, int p, int r){
+void sousTriFusion(long * A, size_t p, size_t r){
     if(p<r-1){
-        int q = (int)(p+r/2);
+        size_t q = (size_t)(p+r/2);
         sousTriFusion(A, p, q);
         sousTriFusion(A, q, r);
         fusion(A, p, q, r);
     }
 }
 
-void fusion(int * A, int p, int q, int r){
-    int* Ad, Ag;
-    memset(Ad, 0, p);
-    memset(Ag, 0, q);
-    int n1 = q-p;
-    int n2 = r-q;
-    int indg = 0;
-    int indd = 0;
-    int i = p;
+void fusion(long * A, size_t p, size_t q, size_t r){
+    long* Ad;
+    long* Ag;
+    size_t n1 = q-p;
+    size_t n2 = r-q;
+    size_t indg = 0;
+    size_t indd = 0;
+    size_t i = p;
     while (i < r){
         if(indg == n1){
             A[i] = Ad[indd];
@@ -52,4 +51,8 @@ void fusion(int * A, int p, int q, int r){
         }
         i++;
     }
+}
+
+void triFusion(long * A, size_t n){
+    sousTriFusion(A, 0, n);
 }
\ No newline at end of file
diff --git a/Algos_1/algos.h b/Algos_1/algos.h
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5bbc17747aaf2f55cb59b1fc0abc5fa192ff324f 100644
--- a/Algos_1/algos.h
+++ b/Algos_1/algos.h
@@ -0,0 +1,6 @@
+#include <stddef.h>
+
+void triInsertion(long* A, size_t n);
+void sousTriFusion(long * A, size_t p, size_t r);
+void fusion(long * A, size_t p, size_t q, size_t r);
+void triFusion(long * A, size_t n);
\ No newline at end of file
diff --git a/Algos_1/algos.o b/Algos_1/algos.o
new file mode 100644
index 0000000000000000000000000000000000000000..3cc998179e57f471a1117bd503656878702af708
Binary files /dev/null and b/Algos_1/algos.o differ
diff --git a/Algos_1/main.c b/Algos_1/main.c
index 66182a152b7aba96829c5c7311a2028bc4e0c5c9..0e48bd11954f41a4c60164669d6ae93661e9b155 100644
--- a/Algos_1/main.c
+++ b/Algos_1/main.c
@@ -2,7 +2,7 @@
 #include <stdio.h>
 #include <string.h>
 
+
 int main(int argc, char **argv){
-    if()
     return 0;
 }
\ No newline at end of file