diff --git a/ex1/main b/ex1/main
new file mode 100755
index 0000000000000000000000000000000000000000..a8dd6b878c9ea070ebcdf94127393e65a9737fec
Binary files /dev/null and b/ex1/main differ
diff --git a/ex1/main.c b/ex1/main.c
index 9329202aa8d8f168f550eb0f4c6377ae42b74f02..e755581e0bc79cb0aa85eccac353a4b06d79b3a2 100644
--- a/ex1/main.c
+++ b/ex1/main.c
@@ -16,29 +16,29 @@
 #include <stdlib.h>
 #include <string.h>
 
-int main() {
-    // int32_t values_length = 5;
-    // double values[values_length];
+bool is_latin_square_normalized(int32_t latin_square[4][4]) {
+    for (int32_t i = 0; i < 4; i += 1) {
+        if (latin_square[0][i] != i + 1 || latin_square[i][0] != i + 1) { 
+            return false;
+        }
+    }
 
-    // for (int32_t i = 0; i < values_length; i += 1) {
-    //     double value;
-    //     scanf("%lf", &value);
-    //     values[i] = value;
-    // }
+    return true;
+}
 
-    // int32_t values_length = 5;
-    // int32_t values[values_length];
+int main() {
+    int32_t latin_square[4][4];
 
-    // for (int32_t i = 0; i < values_length; i += 1) {
-    //     int32_t value;
-    //     scanf("%d", &value);
-    //     values[i] = value;
-    // }
+    for (int32_t i = 0; i < 4; i += 1) {
+        for (int32_t j = 0; j < 4; j += 1) {
+            int32_t tmp;
+            scanf("%d", &tmp);
+            latin_square[i][j] = tmp;
+        }
+    }
 
-    // char a[100];
-    // int32_t b;
-    // scanf("%s %d", a, &b);
-    // printf("%s %d\n", a, b);
+    bool is_normalized = is_latin_square_normalized(latin_square);
+    printf("latin normalisé: %s\n", (is_normalized ? "oui" : "non"));
 
     return EXIT_SUCCESS;
 }
\ No newline at end of file
diff --git a/ex1/main.o b/ex1/main.o
new file mode 100644
index 0000000000000000000000000000000000000000..37ed287177b066a7227e6ae605f90060ad99e558
Binary files /dev/null and b/ex1/main.o differ