diff --git a/jmaths/bin/main b/jmaths/bin/main
index b985017ec3177668cc94ef1ecbe6dfa516c6d705..3d1a5db6978452da79edfad815e7bd8230d71315 100755
Binary files a/jmaths/bin/main and b/jmaths/bin/main differ
diff --git a/jmaths/src/jmath.c b/jmaths/src/jmath.c
index 45560d843d603c11d1a3907c28479d3b6596a913..1894d71183284bd5fc56babde037be9d913bd690 100644
--- a/jmaths/src/jmath.c
+++ b/jmaths/src/jmath.c
@@ -44,6 +44,25 @@ uint64_t GCD(uint64_t a, uint64_t b)
 uint64_t LCM(uint64_t a, uint64_t b)
 {
 	return( a / (GCD(a, b)) * b);
+}
+
+/**
+ * @brief Get the Lowest Common Multiplier Recursivly
+ * 
+ * @param a
+ * @param b
+ * @return int64_t
+ */
+uint64_t LCMR(uint64_t ma, uint64_t mb, uint64_t a, uint64_t b)
+{
+	// STOP
+	if(ma == mb){return ma;}
+	else if(ma > mb){ LCMR(); }
+
+
+
+
+	
 }
 
 
diff --git a/jmaths/src/main.c b/jmaths/src/main.c
index 90a0ef6483d465f18d78d953f8a4357400201fed..3b9b4140739257e5ee8e23dcef0a62c47c304119 100644
--- a/jmaths/src/main.c
+++ b/jmaths/src/main.c
@@ -57,12 +57,13 @@ int main()
 	printf("COMPUTED FACTORIAL IN %lfs\n", timeT);
 	printf("FACT(%ld) = %ld \n", a, r);
 	
-	t = clock();
-	r = fibo(b);
-	t = clock() - t;
-	timeT = ((double)t) / CLOCKS_PER_SEC;
-	printf("COMPUTED FIBO IN %lfs\n",  timeT);
-	printf("FACT(%ld) = %ld \n", a, r);
+	// // FIBO
+	// t = clock();
+	// r = fibo(b);
+	// t = clock() - t;
+	// timeT = ((double)t) / CLOCKS_PER_SEC;
+	// printf("COMPUTED FIBO IN %lfs\n",  timeT);
+	// printf("FACT(%ld) = %ld \n", a, r);
 
 
 	return 0;
diff --git a/queen_backtrack/kreate.py b/queen_backtrack/kreate.py
new file mode 100644
index 0000000000000000000000000000000000000000..40079e06763dce3bb1573f2de50ba83f73314ddc
--- /dev/null
+++ b/queen_backtrack/kreate.py
@@ -0,0 +1,196 @@
+# * PROJ
+# * Author: Jonas S.
+# * Date: 11/07/21
+# ! OBJECTIVE
+# ? CREATE A BASIC RUNNING PROJECT 
+# ? CREATE SIMPLE C OR HEADER FILE WITH HEADERS
+# ? CREATE MAKEFILE
+# ! NEED COLORAMA AND OS
+
+
+
+
+import colorama
+from colorama import Fore, Back
+
+
+#HARD CODED STUFF
+NAME = "Jonas S."
+colorama.init()
+
+# ! FILE CREATION
+def createFile(fileName, content):
+	with open(f"{fileName}", 'w', encoding = 'utf-8') as f:
+		f.write(content)
+
+def createHeaderFile(fileName):
+	from datetime import datetime
+	import os
+	from os import mkdir
+
+	now = datetime.now() # current date and time
+
+	content =   (
+					"/*\n"
+					f"\t* HEADER {fileName.upper()}\n"
+					f"\t* Author : {NAME}\n"
+					f"\t* Date   : {now.strftime('%d/%m/%Y')}\n"
+					"\t! DESCRIPTION\n"
+					"*/\n\n"
+					f"#ifndef _{fileName.upper()}_H_\n"
+					f"#define _{fileName.upper()}_H_\n\n"
+					"// DEFINES\n\n"
+					"// PROTOTYPE FUNCTIONS\n\n"
+					"#endif"
+				)
+
+	if not os.path.exists('include'):
+		mkdir('include')
+	createFile(f"include/{fileName}.h", content)
+
+def createCodeFile(fileName):
+	from datetime import datetime
+	from datetime import datetime
+	import os
+	from os import mkdir
+	
+	now = datetime.now() # current date and time
+
+	content =   (
+					"/*\n"
+					f"\t* CODE {fileName.upper()}\n"
+					f"\t* Author : {NAME}\n"
+					f"\t* Date   : {now.strftime('%d/%m/%Y')}\n"
+					"\t! DESCRIPTION\n"
+					"*/\n\n"
+				)
+
+	# add basic printf if main
+	if fileName == "main":
+		content += "#include <stdio.h>\n\nint main()\n{\n\tprintf(\"ISSOU\\n\");\n\treturn 0;\n}"
+	
+	if not os.path.exists('src'):
+		mkdir('src')
+	createFile(f"src/{fileName}.c", content)
+
+def createMakefile():
+	content =   (
+					"CC       := gcc\n"
+					"CFLAGS := -Wall -Wextra -g -fsanitize=address -fsanitize=leak\n"
+					"\n"
+					"BIN     	 := bin\n"
+					"SRC     	 := src\n"
+					"INCLUDE 	 := include\n"
+					"LIBRARIES    := -lm\n"
+					"EXECUTABLE1  := main\n"
+					"\n"
+					"# ADD ALL THE SOURCES FOR EXECUTABLE1\n"
+					"SOURCES1 += $(SRC)/jrandom\n"
+					"\n"
+					".PHONY: all run clean # Specify these are not files but internal terms\n"
+					"\n"
+					"all: $(BIN)/$(EXECUTABLE1)\n"
+					"\n"
+					"run: clean all\n"
+					"	clear\n"
+					"	@echo "########## EXECUTE FIRST PROGRAM ##########"\n"
+					"	./$(BIN)/$(EXECUTABLE1)\n"
+					"\n"
+					"# # $^ -> dep\n"
+					"# # $@ -> target\n"
+					"# # $< -> premiere dep\n"
+					"# # Compiles directly the c files\n"
+					"# # Not optimal but succint and simple\n"
+					"\n"
+					"# COMPILE FIRST EXECUTABLE\n"
+					"$(BIN)/$(EXECUTABLE1): $(SRC)/$(EXECUTABLE1).c $(SOURCES)\n"
+					"	@echo "########## COMPILING FIRST EXECUTABLE ##########"\n"
+					"	$(CC) $(CFLAGS) -I $(INCLUDE) $^ -o $@ $(LIBRARIES)\n"
+					"\n"
+					"clean:\n"
+					"	@echo "########## CLEANING ##########"\n"
+					"	-rm $(BIN)/*\n"
+					"\n"
+				)
+	createFile("Makefile", content)
+
+def createDirStructure():
+	import os
+	from os import mkdir
+
+	if not os.path.exists('bin'):
+		mkdir('bin')
+	if not os.path.exists('build'):
+		mkdir('build')
+	if not os.path.exists('include'):
+		mkdir('include')
+	if not os.path.exists('src'):
+		mkdir('src')
+
+# ! MENU CREATION
+def createCompleteProject():
+	# Base structure (SRC, BUILD, INCLUDE, BIN)
+	createDirStructure()
+	print(f"{Fore.GREEN}+ BASIC STRUCTURE CREATED{Fore.RESET}")
+	# Makefile
+	createMakefile()
+	print(f"{Fore.GREEN}+ MAKEFILE CREATED{Fore.RESET}")
+	# Main 
+	createCodeFile("main")
+	print(f"{Fore.GREEN}+ MAIN.C FILE CREATE{Fore.RESET}")
+
+def createCodeHeader(name):
+	# Code
+	createCodeFile(name)
+	print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+	# Header
+	createHeaderFile(name)
+	print(f"{Fore.GREEN}+ HEADER FILE CREATED{Fore.RESET}")
+
+
+
+# ! MENU
+def menu():
+	choice = input(
+	"1 - COMPLETE PROJECT                 \n"
+	"2 - CODE + HEADER                    \n"
+	"3 - CODE ONLY                        \n"
+	"4 - HEADER ONLY                      \n"
+	"5 - MAKEFILE ONLY                    \n"
+	"\n"
+
+	)
+
+	# PROJECT
+	if choice == '1': 
+		print(f"{Fore.BLUE}FULL PROJECT IS BEING CREATED.{Fore.RESET}")
+		createCompleteProject()
+
+	# CODE + HEADER
+	elif choice == '2':
+		print(f"{Fore.BLUE}A CODE AND HEADER FILE ARE BEING CREATED.{Fore.RESET}")
+		createCodeHeader(input("WHAT FILE NAME DO YOU WANT : "))		
+	
+	# CODE 
+	elif choice == '3':
+		print(f"{Fore.BLUE}A CODE FILE IS BEING CREATED.{Fore.RESET}")
+		createCodeFile(input("WHAT FILE NAME DO YOU WANT : "))
+		print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+
+	# HEADER
+	elif choice == '4':
+		print(f"{Fore.BLUE}A HEADER FILE IS BEING CREATED.{Fore.RESET}")
+		createHeaderFile(input("WHAT FILE NAME DO YOU WANT : "))	
+		print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+
+	# MAKEFILE
+	elif choice == '5':
+		print(f"{Fore.BLUE}A HEADER FILE IS BEING CREATED.")
+		createMakefile()		
+		print(f"{Fore.GREEN}+  MAKEFILE CREATED{Fore.RESET}")
+
+if __name__ == "__main__":
+	menu()
+
+
+
diff --git a/stack/Makefile b/stack/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..89e596e7bdcd839f4a87c9b118c1436e7292935f
--- /dev/null
+++ b/stack/Makefile
@@ -0,0 +1,36 @@
+CC       := gcc
+CFLAGS := -Wall -Wextra -g -fsanitize=address -fsanitize=leak
+
+BIN     	 := bin
+SRC     	 := src
+INCLUDE 	 := include
+LIBRARIES    := -lm
+EXECUTABLE1  := main
+
+# ADD ALL THE SOURCES FOR EXECUTABLE1
+SOURCES1 += $(SRC)/jrandom
+
+.PHONY: all run clean # Specify these are not files but internal terms
+
+all: $(BIN)/$(EXECUTABLE1)
+
+run: clean all
+	clear
+	@echo "RUN MAIN"
+	./$(BIN)/$(EXECUTABLE1)
+
+# # $^ -> dep
+# # $@ -> target
+# # $< -> premiere dep
+# # Compiles directly the c files
+# # Not optimal but succint and simple
+
+# COMPILE FIRST EXECUTABLE
+$(BIN)/$(EXECUTABLE1): $(SRC)/$(EXECUTABLE1).c $(SOURCES)
+	@echo 	
+	$(CC) $(CFLAGS) -I $(INCLUDE) $^ -o $@ $(LIBRARIES)
+
+clean:
+	@echo 	
+	-rm $(BIN)/*
+
diff --git a/stack/bin/main b/stack/bin/main
new file mode 100755
index 0000000000000000000000000000000000000000..64ac03de35bd59a9847fc639b51e77501e760bf0
Binary files /dev/null and b/stack/bin/main differ
diff --git a/stack/include/stack.h b/stack/include/stack.h
new file mode 100644
index 0000000000000000000000000000000000000000..d27e992f64dabca2b253e70c109e128fcaf1e5c5
--- /dev/null
+++ b/stack/include/stack.h
@@ -0,0 +1,39 @@
+/*
+	* HEADER STACK
+	* Author : Jonas S.
+	* Date   : 17/11/2021
+	! STACK IMPLEMENTATION
+*/
+
+#include <stdio.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+
+
+#ifndef _JSTACK_H_
+#define _JSTACK_H_
+
+// DEFINES
+#define MAX_CAPACITY 500
+
+typedef struct
+{	
+	int64_t top;
+	int32_t *data;
+}stack_t;
+
+// PROTOTYPE FUNCTIONS
+int32_t* create_stack();
+void stack_push(stack_t* st, int32_t val);
+int32_t stack_pop(stack_t* st);
+int32_t stack_peek(stack_t st);
+bool stack_is_full(stack_t st);
+bool stack_is_empty(stack_t st);
+void stack_destroy(stack_t* st);
+
+
+
+
+#endif
\ No newline at end of file
diff --git a/stack/kreate.py b/stack/kreate.py
new file mode 100644
index 0000000000000000000000000000000000000000..40079e06763dce3bb1573f2de50ba83f73314ddc
--- /dev/null
+++ b/stack/kreate.py
@@ -0,0 +1,196 @@
+# * PROJ
+# * Author: Jonas S.
+# * Date: 11/07/21
+# ! OBJECTIVE
+# ? CREATE A BASIC RUNNING PROJECT 
+# ? CREATE SIMPLE C OR HEADER FILE WITH HEADERS
+# ? CREATE MAKEFILE
+# ! NEED COLORAMA AND OS
+
+
+
+
+import colorama
+from colorama import Fore, Back
+
+
+#HARD CODED STUFF
+NAME = "Jonas S."
+colorama.init()
+
+# ! FILE CREATION
+def createFile(fileName, content):
+	with open(f"{fileName}", 'w', encoding = 'utf-8') as f:
+		f.write(content)
+
+def createHeaderFile(fileName):
+	from datetime import datetime
+	import os
+	from os import mkdir
+
+	now = datetime.now() # current date and time
+
+	content =   (
+					"/*\n"
+					f"\t* HEADER {fileName.upper()}\n"
+					f"\t* Author : {NAME}\n"
+					f"\t* Date   : {now.strftime('%d/%m/%Y')}\n"
+					"\t! DESCRIPTION\n"
+					"*/\n\n"
+					f"#ifndef _{fileName.upper()}_H_\n"
+					f"#define _{fileName.upper()}_H_\n\n"
+					"// DEFINES\n\n"
+					"// PROTOTYPE FUNCTIONS\n\n"
+					"#endif"
+				)
+
+	if not os.path.exists('include'):
+		mkdir('include')
+	createFile(f"include/{fileName}.h", content)
+
+def createCodeFile(fileName):
+	from datetime import datetime
+	from datetime import datetime
+	import os
+	from os import mkdir
+	
+	now = datetime.now() # current date and time
+
+	content =   (
+					"/*\n"
+					f"\t* CODE {fileName.upper()}\n"
+					f"\t* Author : {NAME}\n"
+					f"\t* Date   : {now.strftime('%d/%m/%Y')}\n"
+					"\t! DESCRIPTION\n"
+					"*/\n\n"
+				)
+
+	# add basic printf if main
+	if fileName == "main":
+		content += "#include <stdio.h>\n\nint main()\n{\n\tprintf(\"ISSOU\\n\");\n\treturn 0;\n}"
+	
+	if not os.path.exists('src'):
+		mkdir('src')
+	createFile(f"src/{fileName}.c", content)
+
+def createMakefile():
+	content =   (
+					"CC       := gcc\n"
+					"CFLAGS := -Wall -Wextra -g -fsanitize=address -fsanitize=leak\n"
+					"\n"
+					"BIN     	 := bin\n"
+					"SRC     	 := src\n"
+					"INCLUDE 	 := include\n"
+					"LIBRARIES    := -lm\n"
+					"EXECUTABLE1  := main\n"
+					"\n"
+					"# ADD ALL THE SOURCES FOR EXECUTABLE1\n"
+					"SOURCES1 += $(SRC)/jrandom\n"
+					"\n"
+					".PHONY: all run clean # Specify these are not files but internal terms\n"
+					"\n"
+					"all: $(BIN)/$(EXECUTABLE1)\n"
+					"\n"
+					"run: clean all\n"
+					"	clear\n"
+					"	@echo "########## EXECUTE FIRST PROGRAM ##########"\n"
+					"	./$(BIN)/$(EXECUTABLE1)\n"
+					"\n"
+					"# # $^ -> dep\n"
+					"# # $@ -> target\n"
+					"# # $< -> premiere dep\n"
+					"# # Compiles directly the c files\n"
+					"# # Not optimal but succint and simple\n"
+					"\n"
+					"# COMPILE FIRST EXECUTABLE\n"
+					"$(BIN)/$(EXECUTABLE1): $(SRC)/$(EXECUTABLE1).c $(SOURCES)\n"
+					"	@echo "########## COMPILING FIRST EXECUTABLE ##########"\n"
+					"	$(CC) $(CFLAGS) -I $(INCLUDE) $^ -o $@ $(LIBRARIES)\n"
+					"\n"
+					"clean:\n"
+					"	@echo "########## CLEANING ##########"\n"
+					"	-rm $(BIN)/*\n"
+					"\n"
+				)
+	createFile("Makefile", content)
+
+def createDirStructure():
+	import os
+	from os import mkdir
+
+	if not os.path.exists('bin'):
+		mkdir('bin')
+	if not os.path.exists('build'):
+		mkdir('build')
+	if not os.path.exists('include'):
+		mkdir('include')
+	if not os.path.exists('src'):
+		mkdir('src')
+
+# ! MENU CREATION
+def createCompleteProject():
+	# Base structure (SRC, BUILD, INCLUDE, BIN)
+	createDirStructure()
+	print(f"{Fore.GREEN}+ BASIC STRUCTURE CREATED{Fore.RESET}")
+	# Makefile
+	createMakefile()
+	print(f"{Fore.GREEN}+ MAKEFILE CREATED{Fore.RESET}")
+	# Main 
+	createCodeFile("main")
+	print(f"{Fore.GREEN}+ MAIN.C FILE CREATE{Fore.RESET}")
+
+def createCodeHeader(name):
+	# Code
+	createCodeFile(name)
+	print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+	# Header
+	createHeaderFile(name)
+	print(f"{Fore.GREEN}+ HEADER FILE CREATED{Fore.RESET}")
+
+
+
+# ! MENU
+def menu():
+	choice = input(
+	"1 - COMPLETE PROJECT                 \n"
+	"2 - CODE + HEADER                    \n"
+	"3 - CODE ONLY                        \n"
+	"4 - HEADER ONLY                      \n"
+	"5 - MAKEFILE ONLY                    \n"
+	"\n"
+
+	)
+
+	# PROJECT
+	if choice == '1': 
+		print(f"{Fore.BLUE}FULL PROJECT IS BEING CREATED.{Fore.RESET}")
+		createCompleteProject()
+
+	# CODE + HEADER
+	elif choice == '2':
+		print(f"{Fore.BLUE}A CODE AND HEADER FILE ARE BEING CREATED.{Fore.RESET}")
+		createCodeHeader(input("WHAT FILE NAME DO YOU WANT : "))		
+	
+	# CODE 
+	elif choice == '3':
+		print(f"{Fore.BLUE}A CODE FILE IS BEING CREATED.{Fore.RESET}")
+		createCodeFile(input("WHAT FILE NAME DO YOU WANT : "))
+		print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+
+	# HEADER
+	elif choice == '4':
+		print(f"{Fore.BLUE}A HEADER FILE IS BEING CREATED.{Fore.RESET}")
+		createHeaderFile(input("WHAT FILE NAME DO YOU WANT : "))	
+		print(f"{Fore.GREEN}+ CODE FILE CREATED{Fore.RESET}")
+
+	# MAKEFILE
+	elif choice == '5':
+		print(f"{Fore.BLUE}A HEADER FILE IS BEING CREATED.")
+		createMakefile()		
+		print(f"{Fore.GREEN}+  MAKEFILE CREATED{Fore.RESET}")
+
+if __name__ == "__main__":
+	menu()
+
+
+
diff --git a/stack/src/main.c b/stack/src/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..6debd65b76ec3f4744229e676201363560c65b31
--- /dev/null
+++ b/stack/src/main.c
@@ -0,0 +1,14 @@
+/*
+	* CODE MAIN
+	* Author : Jonas S.
+	* Date   : 17/11/2021
+	! DESCRIPTION
+*/
+
+#include <stdio.h>
+
+int main()
+{
+	printf("ISSOU\n");
+	return 0;
+}
\ No newline at end of file
diff --git a/stack/src/stack.c b/stack/src/stack.c
new file mode 100644
index 0000000000000000000000000000000000000000..b5bfae57a53c5c73bb6a1f87e55cec3a255ad640
--- /dev/null
+++ b/stack/src/stack.c
@@ -0,0 +1,48 @@
+/*
+	* CODE STACK
+	* Author : Jonas S.
+	* Date   : 17/11/2021
+	! STACK IMPLEMENTATION
+*/
+
+#include "../include/stack.h"
+
+int32_t* create_stack()
+{
+	stack_t* st = malloc(sizeof(stack_t));
+	st->data = malloc(MAX_CAPACITY * sizeof(int32_t));
+	st->top = -1;
+}
+
+void stack_push(stack_t* st, int32_t val)
+{
+	st->data[++st->top] = val;
+}
+
+int32_t stack_pop(stack_t* st)
+{
+
+	return st->data[st->top--];
+}
+
+int32_t stack_peek(stack_t st)
+{
+	return st.data[st.top];
+}
+
+bool stack_is_full(stack_t st)
+{
+	return st.top == MAX_CAPACITY;
+}
+
+bool stack_is_empty(stack_t st)
+{
+	return st.top == -1;
+}
+
+
+void stack_destroy(stack_t* st)
+{
+	free(st->data);
+	free(st);
+}