Archived
1
0

parsing started

This commit is contained in:
Adam Joly
2023-12-18 17:19:34 +01:00
parent 7790410d54
commit 11e3eef876
116 changed files with 1549 additions and 1903 deletions

BIN
a.out

Binary file not shown.

4
fdf.c
View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/11 05:11:15 by adjoly #+# #+# */ /* Created: 2023/12/11 05:11:15 by adjoly #+# #+# */
/* Updated: 2023/12/12 05:25:39 by adjoly ### ########.fr */ /* Updated: 2023/12/13 04:35:22 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -28,8 +28,6 @@ int main(int ac, char **av)
t_mlx mlx; t_mlx mlx;
char **map; char **map;
mlx.mlx = mlx_init(); mlx.mlx = mlx_init();
mlx.win = mlx_new_window(mlx.mlx, 1280, 720, "My window"); mlx.win = mlx_new_window(mlx.mlx, 1280, 720, "My window");
mlx_loop_hook(mlx.mlx, update, &mlx); mlx_loop_hook(mlx.mlx, update, &mlx);

14
fdf.h
View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/11 05:10:42 by adjoly #+# #+# */ /* Created: 2023/12/11 05:10:42 by adjoly #+# #+# */
/* Updated: 2023/12/12 06:45:12 by adjoly ### ########.fr */ /* Updated: 2023/12/18 14:18:16 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -19,6 +19,7 @@
# include <string.h> # include <string.h>
# include <limits.h> # include <limits.h>
# include <fcntl.h> # include <fcntl.h>
# include "libft/libft.h"
# include "MacroLibX/includes/mlx.h" # include "MacroLibX/includes/mlx.h"
# include "get_next_line/get_next_line.h" # include "get_next_line/get_next_line.h"
@ -27,4 +28,15 @@ typedef struct s_mlx
void *mlx; void *mlx;
void *win; void *win;
} t_mlx; } t_mlx;
typedef struct s_map
{
int y;
char *color;
} j t_map;
int ft_read_map(int fd, char **map);
size_t ft_countline_fd(int fd);
char **ft_getmap(char *file);
#endif #endif

Binary file not shown.

View File

@ -6,11 +6,12 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */ /* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */
/* Updated: 2023/12/08 18:17:17 by adjoly ### ########.fr */ /* Updated: 2023/12/18 09:18:43 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
#include "get_next_line.h" #include "get_next_line.h"
#include "../libft/libft.h"
char check_line(char *res, char *buf) char check_line(char *res, char *buf)
{ {
@ -37,49 +38,38 @@ char check_line(char *res, char *buf)
return (0); return (0);
} }
char *ft_read_error(char **buf, char *res)
{
free(*buf);
*buf = NULL;
if (res[0] != 0)
return (res);
free(res);
return (NULL);
}
char *get_next_line(int fd) char *get_next_line(int fd)
{ {
static char *buf; static char *buf;
char *res; char *res;
ssize_t bytes_read; ssize_t bytes_read;
res = ft_calloc(1, 1); if (BUFFER_SIZE <= 0 || fd < 0 || fd > 1023)
return (NULL);
if (!buf) if (!buf)
buf = ft_calloc(sizeof(char), BUFFER_SIZE + 1); buf = ft_calloc(sizeof(char), BUFFER_SIZE + 1);
while (buf && res) res = ft_calloc(1, 1);
while (buf)
{ {
res = ft_strjoin(res, buf); res = ft_strjoin(res, buf);
if (!res)
return (NULL);
if (check_line(res, buf)) if (check_line(res, buf))
return (res); return (res);
bytes_read = read(fd, buf, BUFFER_SIZE); bytes_read = read(fd, buf, BUFFER_SIZE);
if (bytes_read < 1) if (bytes_read < 1)
{ return (ft_read_error(&buf, res));
free(buf);
buf = NULL;
if (res[0] != 0)
return (res);
free(res);
return (NULL);
}
buf[bytes_read] = 0; buf[bytes_read] = 0;
} }
return (NULL); return (NULL);
} }
/*#include <unistd.h>
void ft_putstr(char *str){if (str == NULL){return ;}int i = 0;while(str[i]){write(1, &str[i], 1);i++;}}
#include <fcntl.h>
#include <stdio.h>
int main(void)
{
char *ln;
int fd;
fd = open("test.txt", O_RDONLY);
while (ln)
{
ln = get_next_line(fd);
ft_putstr(ln);
free(ln);
}
close(fd);
}*/

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */ /* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */
/* Updated: 2023/12/08 18:01:49 by adjoly ### ########.fr */ /* Updated: 2023/12/18 09:27:15 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -21,9 +21,8 @@
# endif # endif
char *get_next_line(int fd); char *get_next_line(int fd);
char *ft_strjoin(char *s1, char *s2); char *ft_strjoin(const char *s1, const char *s2);
size_t ft_strlen(char *s); // size_t ft_strlen(char *s);
void *ft_calloc(size_t nmemb, size_t size); // void *ft_calloc(size_t nmemb, size_t size);
size_t ft_strlen_nl(char *s);
#endif #endif

Binary file not shown.

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */ /* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */
/* Updated: 2023/12/08 18:02:13 by adjoly ### ########.fr */ /* Updated: 2023/12/15 05:51:22 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -37,49 +37,38 @@ char check_line(char *res, char *buf)
return (0); return (0);
} }
char *ft_read_error(char **buf, char *res)
{
free(*buf);
*buf = NULL;
if (res[0] != 0)
return (res);
free(res);
return (NULL);
}
char *get_next_line(int fd) char *get_next_line(int fd)
{ {
static char *buf[1024]; static char *buf[1024];
char *res; char *res;
size_t bytes_read; ssize_t bytes_read;
res = ft_calloc(1, 1); if (BUFFER_SIZE <= 0 || fd < 0 || fd > 1023)
return (NULL);
if (!buf[fd]) if (!buf[fd])
buf[fd] = ft_calloc(sizeof(char), BUFFER_SIZE + 1); buf[fd] = ft_calloc(sizeof(char), BUFFER_SIZE + 1);
res = ft_calloc(1, 1);
while (buf[fd] && res) while (buf[fd] && res)
{ {
res = ft_strjoin(res, buf); res = ft_strjoin(res, buf[fd]);
if (!res)
return (NULL);
if (check_line(res, buf[fd])) if (check_line(res, buf[fd]))
return (res); return (res);
bytes_read = read(fd, buf[fd], BUFFER_SIZE); bytes_read = read(fd, buf[fd], BUFFER_SIZE);
if (bytes_read < 1) if (bytes_read < 1)
{ return (ft_read_error(&buf[fd], res));
free(&buf[fd]);
buf[fd] = NULL;
if (res[0] != 0)
return (res);
free(res);
return (NULL);
}
buf[fd][bytes_read] = 0; buf[fd][bytes_read] = 0;
} }
return (NULL); return (NULL);
} }
/*#include <unistd.h>
void ft_putstr(char *str){if (str == NULL){return ;}int i = 0;while(str[i]){write(1, &str[i], 1);i++;}}
#include <fcntl.h>
#include <stdio.h>
int main(void)
{
char *ln;
int fd;
fd = open("test.txt", O_RDONLY);
while (ln)
{
ln = get_next_line(fd);
ft_putstr(ln);
free(ln);
}
close(fd);
}*/

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */ /* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */
/* Updated: 2023/12/08 18:01:40 by adjoly ### ########.fr */ /* Updated: 2023/12/15 05:43:09 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -24,6 +24,5 @@ char *get_next_line(int fd);
char *ft_strjoin(char *s1, char *s2); char *ft_strjoin(char *s1, char *s2);
size_t ft_strlen(char *s); size_t ft_strlen(char *s);
void *ft_calloc(size_t nmemb, size_t size); void *ft_calloc(size_t nmemb, size_t size);
size_t ft_strlen_nl(char *s);
#endif #endif

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */ /* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */
/* Updated: 2023/12/08 17:52:41 by adjoly ### ########.fr */ /* Updated: 2023/12/15 05:38:33 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -51,41 +51,25 @@ char *ft_strjoin(char *s1, char *s2)
return (result); return (result);
} }
size_t ft_strlcpy(char *dst, char *src, size_t size)
{
size_t i;
i = 0;
if (size == 0)
return (ft_strlen(src));
while (i < size && src[i])
{
dst[i] = src[i];
i++;
}
dst[size] = '\0';
return (ft_strlen(src));
}
void *ft_calloc(size_t nmemb, size_t size) void *ft_calloc(size_t nmemb, size_t size)
{ {
char *str; char *result;
size_t i; size_t i;
i = 0; i = 0;
if (nmemb == 0 || size == 0) if (nmemb == 0 || size == 0)
return (malloc(1)); return (malloc(1));
if (((unsigned long long)(size * nmemb) > 4294967295))
return (NULL);
if ((int)size < 0 && (int)nmemb < 0) if ((int)size < 0 && (int)nmemb < 0)
return (NULL); return (NULL);
if ((unsigned long long)(size * nmemb) > 4294967295) result = malloc(size * nmemb);
if (!result)
return (NULL); return (NULL);
str = malloc(nmemb * size); while (i < (size * nmemb))
if (!str)
return (NULL);
while (i < (nmemb * size))
{ {
*(unsigned char *)(str + i) = '\0'; *(unsigned char *)(result + i) = '\0';
i++; i++;
} }
return (str); return (result);
} }

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */ /* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */ /* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */
/* Updated: 2023/12/08 17:54:32 by adjoly ### ########.fr */ /* Updated: 2023/12/15 05:42:57 by adjoly ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -51,41 +51,25 @@ char *ft_strjoin(char *s1, char *s2)
return (result); return (result);
} }
size_t ft_strlcpy(char *dst, char *src, size_t size)
{
size_t i;
i = 0;
if (size == 0)
return (ft_strlen(src));
while (i < size && src[i])
{
dst[i] = src[i];
i++;
}
dst[size] = '\0';
return (ft_strlen(src));
}
void *ft_calloc(size_t nmemb, size_t size) void *ft_calloc(size_t nmemb, size_t size)
{ {
char *str; char *result;
size_t i; size_t i;
i = 0; i = 0;
if (nmemb == 0 || size == 0) if (nmemb == 0 || size == 0)
return (malloc(1)); return (malloc(1));
if (((unsigned long long)(size * nmemb) > 4294967295))
return (NULL);
if ((int)size < 0 && (int)nmemb < 0) if ((int)size < 0 && (int)nmemb < 0)
return (NULL); return (NULL);
if ((unsigned long long)(size * nmemb) > 4294967295) result = malloc(size * nmemb);
if (!result)
return (NULL); return (NULL);
str = malloc(nmemb * size); while (i < (size * nmemb))
if (!str)
return (NULL);
while (i < (nmemb * size))
{ {
*(unsigned char *)(str + i) = '\0'; *(unsigned char *)(result + i) = '\0';
i++; i++;
} }
return (str); return (result);
} }

View File

@ -1,8 +0,0 @@
Si tu lis cette ligne GGWP
asdfasdf
sad
f
sadf
asdfasdff

2
libft/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
libftTester/
a.out

89
libft/Makefile Normal file
View File

@ -0,0 +1,89 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/11/01 11:03:22 by adjoly #+# #+# #
# Updated: 2023/11/14 10:30:27 by adjoly ### ########.fr #
# #
# **************************************************************************** #
NAME = libft.a
CC = clang
SRCS = ft_atoi.c \
ft_bzero.c \
ft_isalnum.c \
ft_isalpha.c \
ft_isascii.c \
ft_isdigit.c \
ft_isprint.c \
ft_putchar_fd.c \
ft_putnbr_fd.c \
ft_putstr_fd.c \
ft_strdup.c \
ft_memcpy.c \
ft_memset.c \
ft_memmove.c \
ft_strlcpy.c \
ft_strlen.c \
ft_substr.c \
ft_tolower.c \
ft_toupper.c \
ft_strlcat.c \
ft_strjoin.c \
ft_strncmp.c \
ft_itoa.c \
ft_calloc.c \
ft_memchr.c \
ft_memcmp.c \
ft_strchr.c \
ft_strrchr.c \
ft_strnstr.c \
ft_putendl_fd.c \
ft_strtrim.c \
ft_split.c \
ft_strmapi.c \
ft_striteri.c \
SRCS_BONUS= ft_lstnew.c \
ft_lstadd_front.c \
ft_lstsize.c \
ft_lstlast.c \
ft_lstadd_back.c \
ft_lstdelone.c \
ft_lstclear.c \
ft_lstiter.c \
ft_lstmap.c \
OBJS = $(SRCS:.c=.o)
OBJS_BONUS = $(SRCS_BONUS:.c=.o)
FLAGS = -Werror -Wall -Wextra
HEADER = libft.h
$(NAME): $(OBJS)
ar -rcs $(NAME) $(OBJS)
%.o: %.c
$(CC) $(FLAGS) -I $(HEADER) $< -c -o $@
all: $(NAME)
bonus: $(OBJS_BONUS)
ar -rcs $(NAME) $(OBJS_BONUS)
clean:
rm -f $(OBJS) $(OBJS_BONUS)
fclean: clean
rm -f $(NAME)
re: fclean all
.PHONY: clean all re fclean

37
libft/ft_atoi.c Normal file
View File

@ -0,0 +1,37 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_atoi.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 09:00:27 by adjoly #+# #+# */
/* Updated: 2023/11/05 15:27:36 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_atoi(const char *nptr)
{
int i;
int sign;
int nbr;
i = 0;
sign = 1;
nbr = 0;
while ((nptr[i] >= 7 && nptr[i] <= 13) || nptr[i] == 32)
i++;
if (nptr[i] == '-')
{
sign *= -1;
i++;
}
else if (nptr[i] == '+')
i++;
while (nptr[i] >= '0' && nptr[i] <= '9')
{
nbr = nbr * 10 + (nptr[i] - '0');
i++;
}
return (nbr * sign);
}

BIN
libft/ft_atoi.o Normal file

Binary file not shown.

18
libft/ft_bzero.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_bzero.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/03 11:58:03 by adjoly #+# #+# */
/* Updated: 2023/11/03 12:03:51 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_bzero(void *s, size_t n)
{
ft_memset(s, '\0', n);
}

BIN
libft/ft_bzero.o Normal file

Binary file not shown.

37
libft/ft_calloc.c Normal file
View File

@ -0,0 +1,37 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_calloc.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/01 16:02:26 by adjoly #+# #+# */
/* Updated: 2023/12/18 08:40:14 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <complex.h>
void *ft_calloc(size_t nmemb, size_t size)
{
char *str;
size_t i;
i = 0;
if (nmemb == 0 || size == 0)
return (malloc(1));
if ((int)size < 0 && (int)nmemb < 0)
return (NULL);
if ((unsigned long long)(size * nmemb) > 4294967295)
return (NULL);
str = malloc(nmemb * size);
if (!str)
return (NULL);
while (i < (nmemb * size))
{
*(unsigned char *)(str + i) = '\0';
i++;
}
return (str);
}

BIN
libft/ft_calloc.o Normal file

Binary file not shown.

19
libft/ft_isalnum.c Normal file
View File

@ -0,0 +1,19 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_isalnum.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 08:31:10 by adjoly #+# #+# */
/* Updated: 2023/11/03 11:49:58 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_isalnum(int c)
{
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
|| (c >= '0' && c <= '9'))
return (1);
return (0);
}

BIN
libft/ft_isalnum.o Normal file

Binary file not shown.

18
libft/ft_isalpha.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_isalpha.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 08:31:10 by adjoly #+# #+# */
/* Updated: 2023/11/03 11:52:37 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_isalpha(int c)
{
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
return (1);
return (0);
}

BIN
libft/ft_isalpha.o Normal file

Binary file not shown.

18
libft/ft_isascii.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_isascii.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 08:31:10 by adjoly #+# #+# */
/* Updated: 2023/10/31 08:46:18 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_isascii(int c)
{
if (c >= 0 && c <= 127)
return (1);
return (0);
}

BIN
libft/ft_isascii.o Normal file

Binary file not shown.

18
libft/ft_isdigit.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_isdigit.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 08:50:01 by adjoly #+# #+# */
/* Updated: 2023/11/03 11:53:33 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_isdigit(int c)
{
if (c >= '0' && c <= '9')
return (1);
return (0);
}

BIN
libft/ft_isdigit.o Normal file

Binary file not shown.

18
libft/ft_isprint.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_isprint.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/05 14:47:49 by adjoly #+# #+# */
/* Updated: 2023/11/05 14:51:51 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_isprint(int c)
{
if (c >= 32 && c <= 126)
return (1);
return (0);
}

BIN
libft/ft_isprint.o Normal file

Binary file not shown.

58
libft/ft_itoa.c Normal file
View File

@ -0,0 +1,58 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_itoa.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/05 16:26:26 by adjoly #+# #+# */
/* Updated: 2023/11/06 15:36:28 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
static int ft_count_digit(int n)
{
int i;
i = 0;
if (n < 0)
i++;
if (n == 0)
return (1);
while (n)
{
n /= 10;
i++;
}
return (i);
}
char *ft_itoa(int n)
{
char *result;
int i;
i = ft_count_digit(n);
if (n == 0)
return (ft_strdup("0"));
if (n == -2147483648)
return (ft_strdup("-2147483648"));
result = malloc(sizeof(char) * (i + 1));
if (result == NULL)
return (NULL);
result[i--] = '\0';
if (n < 0)
{
result[0] = '-';
n = -n;
}
while (n)
{
result[i] = n % 10 + '0';
n /= 10;
i--;
}
return (result);
}

BIN
libft/ft_itoa.o Normal file

Binary file not shown.

25
libft/ft_lstadd_back.c Normal file
View File

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstadd_back.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 16:37:42 by adjoly #+# #+# */
/* Updated: 2023/11/11 17:56:48 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_lstadd_back(t_list **lst, t_list *new)
{
if (lst == NULL)
return ;
if (*lst == NULL)
{
(*lst) = new;
return ;
}
ft_lstlast((*lst))->next = new;
}

23
libft/ft_lstadd_front.c Normal file
View File

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstadd_front.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 15:39:25 by adjoly #+# #+# */
/* Updated: 2023/11/11 15:50:06 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_lstadd_front(t_list **lst, t_list *new)
{
if (lst == NULL)
return ;
if (new == NULL)
return ;
new->next = *lst;
*lst = new;
}

26
libft/ft_lstclear.c Normal file
View File

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstclear.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 18:05:14 by adjoly #+# #+# */
/* Updated: 2023/11/12 16:19:59 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_lstclear(t_list **lst, void (*del)(void *))
{
t_list *tmp;
tmp = NULL;
while (lst && *lst && del)
{
tmp = (*lst)->next;
ft_lstdelone((*lst), del);
*lst = tmp;
}
}

21
libft/ft_lstdelone.c Normal file
View File

@ -0,0 +1,21 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstdelone.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 17:59:39 by adjoly #+# #+# */
/* Updated: 2023/11/12 15:33:38 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_lstdelone(t_list *lst, void (*del)(void *))
{
if (lst == NULL || del == NULL)
return ;
del(lst->content);
free(lst);
}

24
libft/ft_lstiter.c Normal file
View File

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstiter.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 18:20:25 by adjoly #+# #+# */
/* Updated: 2023/11/11 18:23:58 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_lstiter(t_list *lst, void (*f)(void *))
{
if (lst == NULL || f == NULL)
return ;
while (lst)
{
f(lst->content);
lst = lst->next;
}
}

22
libft/ft_lstlast.c Normal file
View File

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstlast.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 16:03:12 by adjoly #+# #+# */
/* Updated: 2023/11/11 16:37:10 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
t_list *ft_lstlast(t_list *lst)
{
if (lst == NULL)
return (NULL);
while (lst->next)
lst = lst->next;
return (lst);
}

35
libft/ft_lstmap.c Normal file
View File

@ -0,0 +1,35 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstmap.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 18:24:49 by adjoly #+# #+# */
/* Updated: 2023/11/11 18:38:51 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
{
t_list *res;
t_list *tmp;
if (lst == NULL || f == NULL || del == NULL)
return (NULL);
res = NULL;
while (lst)
{
tmp = ft_lstnew(f(lst->content));
if (tmp == NULL)
{
ft_lstclear(&tmp, del);
return (NULL);
}
ft_lstadd_back(&res, tmp);
lst = lst->next;
}
return (res);
}

25
libft/ft_lstnew.c Normal file
View File

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstnew.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 15:30:32 by adjoly #+# #+# */
/* Updated: 2023/11/11 15:51:49 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
t_list *ft_lstnew(void *content)
{
t_list *lst;
lst = malloc(sizeof(t_list));
if (lst == NULL)
return (NULL);
lst[0].content = content;
lst[0].next = NULL;
return (lst);
}

26
libft/ft_lstsize.c Normal file
View File

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_lstsize.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 15:53:01 by adjoly #+# #+# */
/* Updated: 2023/11/11 15:59:03 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
int ft_lstsize(t_list *lst)
{
int i;
i = 0;
while (lst != NULL)
{
lst = lst->next;
i++;
}
return (i);
}

27
libft/ft_memchr.c Normal file
View File

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memchr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/05 14:52:53 by adjoly #+# #+# */
/* Updated: 2023/11/09 14:27:32 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void *ft_memchr(const void *s, int c, size_t n)
{
size_t i;
i = 0;
while (i < n)
{
if (((unsigned char *)s)[i] == (unsigned char)c)
return (((void *)s + i));
i++;
}
return (NULL);
}

BIN
libft/ft_memchr.o Normal file

Binary file not shown.

26
libft/ft_memcmp.c Normal file
View File

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memcmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/08 12:04:48 by adjoly #+# #+# */
/* Updated: 2023/11/09 14:06:17 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <stddef.h>
int ft_memcmp(const void *s1, const void *s2, size_t n)
{
size_t i;
i = 0;
if (n == 0)
return (0);
while (((unsigned char *)s1)[i] == ((unsigned char *)s2)[i] && i < n - 1)
i++;
return (((unsigned char *)s1)[i] - ((unsigned char *)s2)[i]);
}

BIN
libft/ft_memcmp.o Normal file

Binary file not shown.

30
libft/ft_memcpy.c Normal file
View File

@ -0,0 +1,30 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memcpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/02 10:21:55 by adjoly #+# #+# */
/* Updated: 2023/11/04 14:13:12 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void *ft_memcpy(void *dest, const void *src, size_t n)
{
size_t i;
i = 0;
if (src == NULL && dest == NULL)
{
return (dest);
}
while (i < n)
{
((unsigned char *)dest)[i] = ((unsigned char *)src)[i];
i++;
}
return (dest);
}

BIN
libft/ft_memcpy.o Normal file

Binary file not shown.

27
libft/ft_memmove.c Normal file
View File

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memmove.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/03 15:04:04 by adjoly #+# #+# */
/* Updated: 2023/11/05 22:05:37 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void *ft_memmove(void *dest, const void *src, size_t n)
{
size_t i;
i = -1;
if (dest > src)
while (n-- > 0)
((unsigned char *)dest)[n] = ((unsigned char *)src)[n];
else if (dest < src)
while (++i < n)
((unsigned char *)dest)[i] = ((unsigned char *)src)[i];
return (dest);
}

BIN
libft/ft_memmove.o Normal file

Binary file not shown.

26
libft/ft_memset.c Normal file
View File

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memset.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 17:40:22 by adjoly #+# #+# */
/* Updated: 2023/11/03 12:11:08 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void *ft_memset(void *s, int c, size_t n)
{
size_t i;
i = 0;
while (i < n)
{
((char *)(s))[i] = c;
i++;
}
return (s);
}

BIN
libft/ft_memset.o Normal file

Binary file not shown.

18
libft/ft_putchar_fd.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putchar_fd.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 11:42:17 by adjoly #+# #+# */
/* Updated: 2023/11/01 17:15:09 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_putchar_fd(char c, int fd)
{
write(fd, &c, 1);
}

BIN
libft/ft_putchar_fd.o Normal file

Binary file not shown.

19
libft/ft_putendl_fd.c Normal file
View File

@ -0,0 +1,19 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putendl_fd.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/09 19:12:00 by adjoly #+# #+# */
/* Updated: 2023/11/09 19:15:50 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_putendl_fd(char *s, int fd)
{
ft_putstr_fd(s, fd);
ft_putchar_fd('\n', fd);
}

BIN
libft/ft_putendl_fd.o Normal file

Binary file not shown.

33
libft/ft_putnbr_fd.c Normal file
View File

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putnbr_fd.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 11:52:46 by adjoly #+# #+# */
/* Updated: 2023/11/03 19:17:27 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_putnbr_fd(int n, int fd)
{
unsigned int nbr;
if (n < 0)
{
write(fd, "-", 1);
nbr = -n;
}
else
nbr = n;
if (nbr < 10)
write(fd, &(char){nbr + '0'}, 1);
else
{
ft_putnbr_fd(nbr / 10, fd);
write(fd, &(char){nbr % 10 + '0'}, 1);
}
}

BIN
libft/ft_putnbr_fd.o Normal file

Binary file not shown.

27
libft/ft_putstr_fd.c Normal file
View File

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putstr_fd.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 11:45:55 by adjoly #+# #+# */
/* Updated: 2023/11/05 15:06:13 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_putstr_fd(char *s, int fd)
{
int i;
i = 0;
if (s == NULL)
return ;
while (s[i])
{
write(fd, &s[i], 1);
i++;
}
}

BIN
libft/ft_putstr_fd.o Normal file

Binary file not shown.

94
libft/ft_split.c Normal file
View File

@ -0,0 +1,94 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_split.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/12 09:14:19 by adjoly #+# #+# */
/* Updated: 2023/11/12 16:28:35 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
static int ft_countword(char const *s, char sep)
{
int i;
int w_count;
i = 0;
w_count = 0;
while (s[i])
{
if (s[i] != sep && (i == 0 || s[i - 1] == sep))
w_count++;
i++;
}
return (w_count);
}
static int ft_countletter(char const *s, char sep)
{
int i;
i = 0;
while (s[i] != sep && s[i] != '\0')
i++;
return (i);
}
static void *ft_freearr(char **arr)
{
int i;
i = 0;
while (arr[i])
{
free(arr[i]);
i++;
}
free(arr);
return (NULL);
}
char **ft_split_to_result(char **tab, char const *s, char c)
{
int i;
int j;
int k;
i = 0;
j = 0;
while (s[i])
{
if (s[i] != c)
{
k = 0;
tab[j] = ft_calloc(ft_countletter(&s[i], c) + 1, sizeof(char));
if (!tab[j])
return (ft_freearr(tab));
while (s[i] && s[i] != c)
tab[j][k++] = s [i++];
tab[j][k] = '\0';
j++;
}
else
i++;
}
tab[j] = NULL;
return (tab);
}
char **ft_split(char const *s, char c)
{
char **result;
if (s == NULL)
return (NULL);
result = ft_calloc(ft_countword(s, c) + 1, sizeof(char *));
if (!result)
return (NULL);
result = ft_split_to_result(result, s, c);
return (result);
}

BIN
libft/ft_split.o Normal file

Binary file not shown.

25
libft/ft_strchr.c Normal file
View File

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strchr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/01 15:45:18 by adjoly #+# #+# */
/* Updated: 2023/11/09 14:31:55 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strchr(const char *s, int c)
{
size_t len_s;
char *result;
len_s = ft_strlen(s);
result = ft_memchr(s, c, len_s);
if (c == 0)
return ((char *)s + len_s);
return (result);
}

BIN
libft/ft_strchr.o Normal file

Binary file not shown.

33
libft/ft_strdup.c Normal file
View File

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strdup.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/03 22:57:39 by adjoly #+# #+# */
/* Updated: 2023/11/04 14:40:17 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strdup(const char *s)
{
int i;
char *result;
int len;
i = 0;
len = ft_strlen(s);
result = malloc(sizeof(char) * (len + 1));
if (result == NULL)
return (NULL);
while (s[i])
{
result[i] = s[i];
i++;
}
result[i] = '\0';
return (result);
}

BIN
libft/ft_strdup.o Normal file

Binary file not shown.

27
libft/ft_striteri.c Normal file
View File

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_striteri.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 14:15:30 by adjoly #+# #+# */
/* Updated: 2023/11/12 13:59:23 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
void ft_striteri(char *s, void (*f)(unsigned int, char *))
{
int i;
i = 0;
if (s == NULL || f == NULL)
return ;
while (s[i])
{
f(i, &s[i]);
i++;
}
}

BIN
libft/ft_striteri.o Normal file

Binary file not shown.

42
libft/ft_strjoin.c Normal file
View File

@ -0,0 +1,42 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strjoin.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/04 13:44:09 by adjoly #+# #+# */
/* Updated: 2023/12/18 08:53:47 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strjoin(char const *s1, char const *s2)
{
char *result;
size_t i;
size_t j;
i = 0;
j = 0;
if (s1 == NULL || s2 == NULL)
return (NULL);
result = ft_calloc((ft_strlen(s1) + ft_strlen(s2) + 1), sizeof(char));
if (result == NULL)
return (NULL);
while (s1[i])
{
result[i] = s1[i];
i++;
}
while (s2[j])
{
result[i] = s2[j];
i++;
j++;
}
free((char *)s1);
result[i] = '\0';
return (result);
}

BIN
libft/ft_strjoin.o Normal file

Binary file not shown.

38
libft/ft_strlcat.c Normal file
View File

@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcat.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/03 15:59:31 by adjoly #+# #+# */
/* Updated: 2023/11/05 10:39:34 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
size_t ft_strlcat(char *dst, const char *src, size_t size)
{
size_t i;
size_t j;
size_t len_dst;
size_t len_src;
if (dst == NULL && size == 0)
return (0);
i = 0;
j = ft_strlen(dst);
len_src = ft_strlen(src);
len_dst = ft_strlen(dst);
if (size <= j)
return (len_src + size);
while (j < size - 1 && src[i])
{
dst[j] = src[i];
i++;
j++;
}
dst[j] = '\0';
return (len_src + len_dst);
}

BIN
libft/ft_strlcat.o Normal file

Binary file not shown.

30
libft/ft_strlcpy.c Normal file
View File

@ -0,0 +1,30 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/01 09:52:45 by adjoly #+# #+# */
/* Updated: 2023/11/03 22:46:49 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
size_t ft_strlcpy(char *dst, const char *src, size_t size)
{
size_t i;
i = 0;
if (size == 0)
return (ft_strlen(src));
while (i < size - 1 && src[i])
{
dst[i] = src[i];
i++;
}
if (i < size)
dst[i] = '\0';
return (ft_strlen(src));
}

BIN
libft/ft_strlcpy.o Normal file

Binary file not shown.

23
libft/ft_strlen.c Normal file
View File

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlen.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/30 18:15:57 by adjoly #+# #+# */
/* Updated: 2023/11/01 17:15:12 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
size_t ft_strlen(const char *s)
{
int i;
i = 0;
while (s[i])
i++;
return (i);
}

BIN
libft/ft_strlen.o Normal file

Binary file not shown.

33
libft/ft_strmapi.c Normal file
View File

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strmapi.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 11:44:24 by adjoly #+# #+# */
/* Updated: 2023/11/13 16:14:32 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
{
int i;
char *res;
i = 0;
if (!s || !f)
return (NULL);
res = ft_calloc((ft_strlen(s) + 1), sizeof(char));
if (res == NULL)
return (NULL);
while (s[i])
{
res[i] = f(i, s[i]);
i++;
}
res[i] = '\0';
return (res);
}

BIN
libft/ft_strmapi.o Normal file

Binary file not shown.

25
libft/ft_strncmp.c Normal file
View File

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/05 10:40:45 by adjoly #+# #+# */
/* Updated: 2023/11/06 14:53:38 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
int ft_strncmp(const char *s1, const char *s2, size_t n)
{
size_t i;
i = 0;
if (n == 0)
return (0);
while (s1[i] == s2[i] && s1[i] && i < n - 1)
i++;
return ((unsigned char)s1[i] - (unsigned char)s2[i]);
}

BIN
libft/ft_strncmp.o Normal file

Binary file not shown.

35
libft/ft_strnstr.c Normal file
View File

@ -0,0 +1,35 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strnstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/08 16:02:17 by adjoly #+# #+# */
/* Updated: 2023/11/12 16:17:28 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strnstr(const char *big, const char *little, size_t len)
{
size_t i;
size_t j;
i = 0;
if (!big && len == 0)
return (NULL);
if (*little == '\0' || little == big)
return ((char *)big);
while (i < len && big[i])
{
j = 0;
while (big[i + j] == little[j] && little[j] && big[i] && i + j < len)
j++;
if (little[j] == 0)
return ((char *)big + i);
i++;
}
return (NULL);
}

BIN
libft/ft_strnstr.o Normal file

Binary file not shown.

33
libft/ft_strrchr.c Normal file
View File

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strrchr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/08 14:44:26 by adjoly #+# #+# */
/* Updated: 2023/11/08 15:21:28 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strrchr(const char *s, int c)
{
size_t i;
size_t len_s;
len_s = ft_strlen(s);
i = len_s;
if (c == 0)
return (&((char *)s)[len_s]);
while (i > 0)
{
if (s[i] == (char)c)
return (&((char *)s)[i]);
i--;
}
if (s[0] == (char)c)
return (&((char *)s)[0]);
return (NULL);
}

BIN
libft/ft_strrchr.o Normal file

Binary file not shown.

31
libft/ft_strtrim.c Normal file
View File

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strtrim.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/11 00:37:37 by adjoly #+# #+# */
/* Updated: 2023/11/11 01:09:36 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strtrim(char const *s1, char const *set)
{
int i;
int j;
char *result;
i = 0;
if (s1 == NULL || set == NULL)
return (NULL);
j = ft_strlen(s1);
while (ft_strchr(set, s1[i]) != 0)
i++;
while (ft_strrchr(set, s1[j]) != 0)
j--;
result = ft_substr(s1, i, (j - i) + 1);
return (result);
}

BIN
libft/ft_strtrim.o Normal file

Binary file not shown.

37
libft/ft_substr.c Normal file
View File

@ -0,0 +1,37 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_substr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/02 17:59:58 by adjoly #+# #+# */
/* Updated: 2023/11/13 16:22:26 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_substr(char const *s, unsigned int start, size_t len)
{
size_t i;
char *result;
i = 0;
if (s == NULL)
return (0);
if (len >= ft_strlen(s))
len = ft_strlen(s) - start;
if (len == 0 || start >= ft_strlen(s))
return (ft_calloc(1, 1));
result = malloc((len + 1) * sizeof(char));
if (result == NULL)
return (NULL);
while (i < len && s[start + i])
{
result[i] = s[start + i];
i++;
}
result[i] = '\0';
return (result);
}

BIN
libft/ft_substr.o Normal file

Binary file not shown.

18
libft/ft_tolower.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_tolower.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 17:15:28 by adjoly #+# #+# */
/* Updated: 2023/10/31 17:26:10 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_tolower(int c)
{
if (c >= 'A' && c <= 'Z')
return (c + 32);
return (c);
}

BIN
libft/ft_tolower.o Normal file

Binary file not shown.

18
libft/ft_toupper.c Normal file
View File

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_toupper.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/31 17:15:28 by adjoly #+# #+# */
/* Updated: 2023/10/31 17:26:15 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
int ft_toupper(int c)
{
if (c >= 'a' && c <= 'z')
return (c - 32);
return (c);
}

BIN
libft/ft_toupper.o Normal file

Binary file not shown.

BIN
libft/libft.a Normal file

Binary file not shown.

73
libft/libft.h Normal file
View File

@ -0,0 +1,73 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* libft.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/01 10:06:03 by adjoly #+# #+# */
/* Updated: 2023/12/18 08:59:58 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef LIBFT_H
# define LIBFT_H
# include <stddef.h>
# include <stdlib.h>
# include <unistd.h>
typedef struct s_list
{
void *content;
struct s_list *next;
} t_list;
int ft_atoi(const char *nptr);
void *ft_calloc(size_t nmemb, size_t size);
int ft_isalnum(int c);
int ft_isalpha(int c);
int ft_isascii(int c);
int ft_isdigit(int c);
void ft_bzero(void *s, size_t n);
void *ft_memset(void *s, int c, size_t n);
void *ft_memmove(void *dest, const void *src, size_t n);
void *ft_memcpy(void *dest, const void *src, size_t n);
void ft_putchar_fd(char c, int fd);
void ft_putnbr_fd(int n, int fd);
char *ft_strdup(const char *s);
void ft_putstr_fd(char *s, int fd);
char *ft_strchr(const char *s, int c);
size_t ft_strlcpy(char *dst, const char *src, size_t size);
size_t ft_strlen(const char *s);
char *ft_substr(char const *s, unsigned int start, size_t len);
int ft_tolower(int c);
int ft_toupper(int c);
size_t ft_strlcat(char *dst, const char *src, size_t size);
char *ft_strjoin(char const *s1, char const *s2);
int ft_strncmp(const char *s1, const char *s2, size_t n);
int ft_isprint(int c);
void *ft_memchr(const void *s, int c, size_t n);
char *ft_itoa(int n);
void *ft_memmove(void *dest, const void *src, size_t n);
void *ft_memchr(const void *s, int c, size_t n);
int ft_memcmp(const void *s1, const void *s2, size_t n);
char *ft_strrchr(const char *s, int c);
char *ft_strnstr(const char *big, const char *little, size_t len);
void ft_putendl_fd(char *s, int fd);
char *ft_strtrim(char const *s1, char const *set);
char **ft_split(char const *s, char c);
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
void ft_striteri(char *s, void (*f)(unsigned int, char *));
t_list *ft_lstnew(void *content);
void ft_lstadd_front(t_list **lst, t_list *new);
int ft_lstsize(t_list *lst);
t_list *ft_lstlast(t_list *lst);
void ft_lstadd_back(t_list **lst, t_list *new);
void ft_lstdelone(t_list *lst, void (*del)(void *));
void ft_lstclear(t_list **lst, void (*del)(void *));
void ft_lstiter(t_list *lst, void (*f)(void *));
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *));
#endif

BIN
libft/libft.h.gch Normal file

Binary file not shown.

View File

@ -1,10 +0,0 @@
1 0 0 -1 -1 0 1 1 0 0
-1 0 0 0 1 0 0 0 0 0
-1 1 0 0 -1 1 0 0 0 1
1 -1 0 1 1 -1 0 0 -1 0
1 -1 -1 0 -1 0 0 0 -1 -1
-1 1 0 1 1 0 1 0 0 0
0 -1 -1 0 0 1 0 0 0 1
0 0 0 0 1 0 -1 0 0 0
-1 -1 0 1 -1 0 1 0 0 1
0 0 1 -1 0 -1 0 0 0 0

View File

@ -1,10 +0,0 @@
-6 -67 -61 -38 9 -16 -16 32 56 16
27 -63 23 -56 63 10 33 -9 -55 69
-44 -23 -58 12 -55 0 21 -25 27 48
1 41 -38 57 38 -17 -50 -2 -63 7
32 -46 -11 30 10 13 -48 -37 66 -53
-54 34 51 -40 -33 52 -62 -37 -54 -9
-58 40 -30 -9 59 7 -66 -12 -18 41
-50 67 36 13 12 -2 -28 10 -60 -58
3 -27 -52 56 26 -52 59 -31 -48 -6
-59 -30 50 36 5 -11 0 60 -24 -34

View File

@ -1,100 +0,0 @@
-4 -3 5 5 0 -4 0 -5 5 -2 5 1 -5 1 5 0 -2 4 -2 0 0 -2 2 -3 1 -1 -4 -3 5 -1 0 2 3 0 -2 0 0 0 -1 3 -2 0 -5 4 -2 3 -5 3 -3 5 0 1 0 3 2 0 -2 3 0 1 -3 0 2 0 -5 -2 2 -3 4 0 5 0 2 -3 0 0 5 2 4 0 1 2 -4 0 5 -3 1 -4 -4 -4 0 3 -1 3 0 -4 1 0 4 -5
-2 0 -3 -1 -4 1 -1 -4 -5 -5 1 -4 -1 4 1 2 -4 -2 -5 -5 -5 1 -2 1 1 0 -2 -3 1 3 -3 -4 0 1 4 -5 4 5 0 2 -5 0 0 2 3 0 -2 -5 1 -2 -2 1 0 0 0 5 5 -2 3 4 0 2 -4 2 5 -4 5 -1 -5 -5 -4 -4 1 0 -4 0 4 -3 -2 -3 4 -1 -1 0 -4 -5 5 -3 2 -1 2 -4 -5 -1 -4 0 -1 0 4 4
4 2 1 5 5 0 0 -2 4 3 4 0 -4 -3 5 5 2 -4 1 3 -1 4 0 4 0 -2 5 4 -4 -2 3 4 5 0 -4 -5 -3 -2 -1 4 -3 -5 2 -3 4 0 -5 1 3 0 -4 -4 2 -5 -3 4 0 3 -1 5 0 -4 0 2 -2 5 -5 4 2 5 -2 -2 -2 0 -5 4 0 3 1 5 0 5 4 3 -5 -4 2 5 5 2 -4 2 -2 -1 4 5 -1 1 -4 -5
1 4 4 -2 1 -1 -3 1 0 -2 3 -3 1 0 2 5 1 -4 -2 -3 2 -3 2 -5 0 0 0 1 4 -3 -2 1 -4 4 -3 1 -5 2 -4 0 -3 1 -2 -2 1 0 -1 -2 2 2 0 4 0 -2 -2 0 5 -2 3 4 5 -3 -1 5 -2 0 1 2 3 -4 1 -1 3 -4 -5 0 -1 -4 -3 -4 -4 -4 -1 -2 0 -2 4 -1 0 -1 4 -1 2 0 -1 -2 2 5 1 -4
-1 2 -5 5 4 1 -1 1 5 0 4 3 -4 0 -4 -2 3 -4 -3 0 -3 1 -3 1 5 2 0 -3 -1 -2 0 1 -3 2 -4 -3 3 0 4 -4 -5 -1 -3 5 5 1 -4 -5 3 0 -2 1 5 5 2 -1 0 2 0 -4 -4 0 -4 -1 1 -1 -5 2 -5 -5 2 5 -2 -5 5 -2 3 -2 -2 0 -3 -4 -3 -3 -3 1 -2 0 2 -5 4 0 -4 -4 0 -3 -4 4 1 0
4 0 -1 3 -4 -4 3 -5 0 -5 5 -5 5 -4 -5 -4 2 4 5 -3 0 -1 0 -1 2 -3 4 5 -4 -2 -2 -1 1 3 -2 0 -4 -5 3 1 4 -4 2 -4 5 3 -1 -2 5 3 -2 -2 0 2 0 4 5 -5 1 1 -5 -2 -2 -4 2 -2 0 -1 -4 -5 1 -5 -1 5 -2 1 -2 3 5 1 0 4 4 -2 2 -4 0 0 -2 5 3 4 -2 -3 1 3 3 1 2 -4
1 4 5 -1 4 3 0 0 3 2 4 0 5 -5 1 4 0 1 0 -3 0 -3 -3 -1 -3 4 -2 3 0 -2 2 3 -3 -3 0 4 -2 -4 -1 -2 4 -4 -2 4 2 0 -5 -3 3 -5 -5 -3 5 -4 -2 1 -1 0 -1 3 -4 -2 3 3 -5 -2 2 -2 -1 0 0 1 3 5 -1 0 5 1 -4 0 0 5 2 0 4 -3 1 4 0 -5 -4 5 1 -2 0 -1 3 -1 -5 5
5 2 -1 0 -5 4 0 1 -5 4 1 5 0 0 5 1 5 5 2 -5 4 1 5 -1 5 -5 4 3 -5 1 4 0 4 -3 -1 4 1 -3 2 3 -3 -5 -4 -2 -4 -1 0 -1 1 2 -5 -2 -1 -5 -3 -2 -1 -1 -4 0 4 2 1 4 -3 -2 0 4 0 1 -5 -1 -2 3 4 -4 4 -2 -4 -4 -4 -1 0 -1 0 1 -1 4 1 1 -1 -5 5 -1 4 1 1 0 5 0
-4 -1 3 2 -5 4 3 -3 -3 0 -3 -2 3 0 -3 4 1 0 -2 3 5 0 -4 0 -2 3 0 3 0 -5 -1 -2 1 4 -4 0 0 5 -1 3 4 -4 0 3 0 1 -4 2 4 2 -3 -4 -5 -5 1 2 4 -2 2 1 -1 2 1 2 -2 5 -5 3 -2 5 2 -4 3 -1 5 2 -3 0 4 5 1 0 0 -2 -4 -4 -5 0 0 5 -4 0 0 -3 -2 -2 5 -3 -2 1
0 0 -5 -3 0 -2 -5 5 3 -5 -3 -2 -4 -1 -2 3 0 1 2 3 1 4 3 0 -4 -3 -4 -2 -5 4 0 3 -2 0 4 3 2 0 -4 2 -3 4 -4 2 -1 0 4 -1 0 0 4 5 -5 0 4 0 -3 -2 -2 0 -2 2 -2 -2 2 0 -5 0 -3 0 1 -4 -4 5 -5 -2 0 -4 3 -2 -2 4 4 -2 5 -2 -2 -3 -3 1 0 -4 2 1 0 3 -4 -2 0 -5
4 -2 4 0 0 -2 -3 0 0 0 3 2 2 -1 0 0 -4 2 -3 -2 -2 -2 0 -2 -1 -1 2 1 0 0 0 0 5 2 0 4 4 4 4 -4 1 3 -2 0 4 4 2 2 0 -1 -5 0 -1 0 1 3 4 0 1 -5 0 3 2 5 1 -4 2 -5 2 -5 1 -5 2 2 1 0 -5 5 -1 -5 4 -2 -1 -2 2 0 5 5 -3 -4 -1 1 4 -1 4 -5 4 -4 -2 -2
-5 -2 5 0 -5 0 -3 0 0 -3 -4 -3 5 4 5 -1 5 0 -5 0 1 3 4 -2 2 3 5 1 -3 -3 -1 -3 -4 0 -3 -4 5 -4 -2 -2 -5 1 0 -4 -3 2 0 5 -2 3 -5 -4 4 0 -5 2 0 5 -4 3 -1 3 -2 -4 1 -1 0 4 0 -3 -5 4 -2 -5 4 4 0 4 -4 -1 -1 5 3 1 -3 1 4 4 2 -2 5 -2 -2 -1 -1 3 0 -4 4 -4
-5 -5 -3 -5 -3 0 4 -5 -4 -2 -5 0 -4 -5 -4 -3 -2 4 0 -4 0 -1 -3 -1 2 3 5 -3 5 0 -3 -5 -3 4 -3 -4 0 1 4 -3 5 5 2 0 0 2 0 -5 0 4 3 -3 0 2 1 3 -2 5 -5 5 2 -2 -1 2 -4 -5 -5 0 -4 -4 -1 2 -2 0 -4 -5 3 3 1 5 -5 5 4 -5 -5 -5 5 0 -4 -1 2 -2 4 -4 0 3 1 -5 5 -5
2 2 0 0 -2 -4 -5 2 -5 2 1 -4 2 -3 0 -5 4 -3 1 0 4 -4 0 -2 0 -3 -2 5 -3 4 -4 -1 -1 -3 3 -1 2 -3 -3 -2 -3 -5 -1 1 2 3 2 3 0 2 -5 -4 -3 -1 -5 4 0 2 1 -3 3 -2 -2 0 -3 2 -1 0 1 0 0 5 -1 2 2 1 -4 1 2 3 2 -4 3 3 -5 -5 3 2 0 0 -4 0 -5 0 4 4 -3 0 0 -3
4 0 0 -3 5 3 0 -5 2 0 3 0 4 3 -1 -2 -5 -5 -1 5 -2 4 -1 3 0 -4 0 -5 4 2 2 2 0 3 -3 3 3 -1 0 2 -4 -1 2 -3 0 2 -4 2 -4 -3 5 0 -2 0 5 0 -4 -5 -4 0 3 0 -5 4 -5 -1 2 5 0 1 2 -5 -2 -2 -2 5 -3 -4 4 0 -5 -4 -2 2 -4 -3 0 4 -4 5 5 -3 0 3 -3 -4 -2 0 3 0
-2 -4 -4 -3 -1 -2 -2 -3 5 3 2 0 -4 3 0 0 1 1 0 5 -5 4 -4 -2 0 -2 -5 -4 -4 -3 -2 -3 0 -1 -3 -2 -1 -5 0 2 -3 -4 0 2 1 -2 0 3 2 0 -1 -3 3 5 0 3 1 3 0 -5 5 -4 3 1 4 -2 0 -2 3 4 3 5 -4 -1 4 3 -3 2 4 -2 1 2 0 1 0 -2 4 3 1 -2 -1 0 1 -3 3 2 -2 -1 0 4
-1 -3 0 5 1 -3 5 -3 1 1 1 -1 -5 -5 -5 1 5 2 4 4 1 3 4 3 4 -4 5 -1 3 5 5 4 1 1 5 1 -5 1 0 3 5 0 -3 -1 -4 -1 4 1 -3 -3 0 -1 -4 -5 2 5 -3 1 0 3 -5 -1 5 -2 -3 -5 4 4 -4 -5 -1 5 5 1 -4 -3 2 3 2 0 -5 0 -3 5 -1 -3 -4 -3 0 0 1 0 2 -5 4 -1 4 4 3 4
-1 -1 -2 0 1 -1 -5 0 -3 -1 2 0 0 -5 -4 1 5 2 5 -1 2 -4 4 3 5 5 -1 0 -2 1 -4 -1 0 -1 -3 2 -1 0 3 3 -1 0 0 0 3 0 0 -2 -2 -1 1 0 3 -3 -1 5 -1 -4 0 -4 -1 -5 -3 5 4 2 0 4 2 0 1 5 0 0 -3 3 3 -5 4 3 1 -2 5 -3 -5 0 -4 -1 1 0 3 -2 -1 1 -3 0 -3 5 2 3
-1 -3 -2 -5 -4 0 4 -4 4 0 0 -3 1 -3 -5 5 3 5 2 3 3 1 4 -3 2 -5 3 0 5 -1 -5 -4 0 -3 0 0 0 1 5 5 5 1 0 -3 -2 -4 0 0 -4 0 -5 2 -5 2 -2 -5 -3 -4 5 -2 5 1 -5 0 -3 1 5 -4 -5 -5 4 -1 2 -1 0 -4 -1 -5 0 -1 -1 1 2 -1 0 -4 -4 -4 1 0 -1 -3 1 0 -3 -1 2 -3 -3 -2
-5 -4 3 -5 -2 1 -4 -4 -5 2 5 0 -3 -4 -1 2 1 -1 4 -4 0 -4 0 -2 -1 -3 -3 2 -3 -1 3 5 -2 -5 4 -5 2 -1 -1 1 -5 -2 4 -4 1 0 -3 0 -5 1 0 -4 3 -5 5 4 4 0 1 1 0 1 2 1 0 -1 5 3 1 1 0 -5 0 5 2 5 -4 -4 1 0 -4 0 1 3 -3 -2 2 3 0 0 3 1 -2 1 5 1 0 4 -5 0
0 4 0 2 4 0 0 4 -1 1 -2 -2 1 1 5 2 3 2 0 4 -2 -2 -2 2 -1 -5 5 0 -2 -2 -3 -5 0 4 2 0 -3 -3 -5 4 -3 1 -4 1 -4 -1 0 3 3 -3 4 1 3 -5 4 -3 -2 -2 -2 1 0 -1 5 -2 -4 4 4 -5 -1 -5 -1 -1 2 -2 3 -3 0 -5 1 -2 2 -1 3 -3 3 -3 -2 2 -1 -3 0 -2 5 2 1 0 5 -2 -5 -4
0 5 -1 4 -2 0 5 3 -3 0 -2 -1 5 -5 -2 -3 -3 2 4 -5 2 4 -1 -5 -1 -1 0 4 -4 1 -1 0 1 -2 -2 3 0 -3 -2 -2 -4 -1 1 -2 1 0 -3 2 1 3 4 0 1 -5 0 5 1 -4 -4 -5 2 3 -5 5 3 5 -3 -2 1 -2 5 -5 4 0 4 0 0 4 4 -1 0 5 1 5 5 0 2 -4 1 -4 -5 1 -2 0 0 0 1 -2 1 0
-5 -5 -5 -2 1 3 5 -4 1 4 -2 2 -3 4 -5 4 -5 4 -4 1 -3 -2 5 1 0 1 -4 5 -3 4 -3 5 -3 -1 0 3 0 -4 1 4 1 -3 -5 5 -5 -5 0 2 -2 2 -2 -1 -5 0 -2 4 2 3 -2 2 -5 -2 -5 2 1 1 -2 -1 4 -2 -5 -2 1 2 -1 -3 0 -5 1 -3 0 3 5 -1 2 2 -3 1 -4 -1 -1 -1 2 3 0 -5 0 1 -1 -4
3 0 3 0 5 3 3 -5 3 5 0 2 5 0 -5 -3 4 5 4 0 3 5 -4 -2 -3 5 -2 0 0 0 -3 -3 -4 4 5 0 -1 3 -3 3 1 2 2 5 0 0 3 -4 2 3 4 -4 -3 3 2 0 -3 -3 0 -5 5 3 3 2 -4 -2 -5 -4 -4 0 -2 3 -2 -3 2 0 -4 -5 -4 -1 -5 5 -5 4 -5 0 -1 1 -3 -4 0 -2 0 0 4 -3 2 -3 0 1
-3 2 0 3 3 2 -3 3 3 2 -3 1 -1 0 5 -4 -2 2 5 1 -4 1 0 -4 -2 -1 -5 -5 0 0 0 1 0 0 -5 -1 -5 -4 -5 -3 0 2 4 0 3 2 -4 0 4 1 1 5 4 2 -3 -3 4 -3 -1 -5 2 2 -4 1 5 2 -5 -1 -2 2 -3 -3 2 -2 -3 5 0 4 -4 -1 1 2 -5 -5 2 2 0 1 4 0 5 -4 0 0 -4 2 -2 5 -2 5
4 5 3 3 2 -2 3 -4 0 -5 0 -3 -1 -5 -2 5 5 0 -5 0 0 5 2 1 3 5 0 0 0 -4 -2 1 0 1 -2 -3 -2 1 0 -2 -5 2 3 4 1 2 3 -4 -5 5 -5 0 5 3 2 1 4 4 0 1 -1 4 -4 3 0 0 1 1 -4 0 0 5 -5 1 0 -5 4 0 -5 5 -3 1 -1 0 -1 1 -3 0 5 2 4 5 -4 -4 0 -3 5 -5 3 -2
-1 -4 -2 2 1 2 -3 -2 -2 2 1 1 -5 0 5 -1 2 0 1 1 -3 -3 -4 -2 0 5 -3 -1 -3 -1 -3 -4 1 3 0 -2 4 -5 1 3 -1 3 0 1 -2 -2 4 3 -4 -1 -3 4 -1 3 -1 3 1 0 -3 3 -4 4 5 5 -4 2 5 3 2 -3 0 5 0 -5 -5 3 -2 -2 1 5 -1 5 -1 2 2 5 -1 1 2 -3 -2 -5 1 0 -4 5 4 2 0 0
5 3 -2 1 -1 2 -2 1 -1 -3 -5 3 3 5 -3 5 5 2 0 3 1 0 -4 3 4 -3 -4 4 -2 5 -3 0 0 1 0 -5 1 4 -3 0 -2 4 -4 0 -4 5 5 0 0 5 -5 1 -4 -3 4 -5 2 1 3 -3 0 -4 2 4 5 2 -2 0 3 -5 -1 0 0 0 -1 0 -3 4 -3 4 -4 -2 2 -5 -5 4 1 2 5 0 4 0 -4 -1 -2 -2 -3 1 0 -4
5 1 0 -2 -4 -2 -3 -1 -5 0 0 1 4 0 1 -3 0 2 0 0 -3 -2 -1 0 0 -2 0 4 0 2 0 -5 -5 5 -4 -5 0 -3 0 2 0 -2 0 3 -4 -5 4 -2 -1 -4 -5 -1 2 1 0 -3 4 -3 -4 -1 -4 -3 4 -3 1 4 -4 3 4 0 -1 -1 -1 -2 4 4 5 -4 1 1 -4 -5 2 5 3 -3 -3 -4 -2 0 2 0 -5 3 2 0 0 -4 -1 -4
-4 -1 -5 0 -2 1 4 -1 -3 -1 -1 -1 -4 0 -3 -3 1 -1 -5 -2 -3 -5 -1 5 3 1 -5 0 5 -3 2 -2 1 -4 -1 3 0 -4 -2 -3 -5 -1 -1 2 2 0 -2 -4 -2 -2 -4 5 -1 0 -1 1 1 0 2 -3 2 -5 3 5 5 3 -1 1 -4 5 -5 -5 1 5 -3 -5 -1 1 -3 -1 2 0 4 5 2 0 3 -1 -4 4 1 -1 1 2 1 -2 -1 0 -3 4
-4 0 -3 0 -1 -1 -3 0 3 -3 0 0 4 0 -1 3 5 0 -1 -5 -4 1 -2 -4 -2 5 2 4 0 -5 5 -3 -2 4 0 3 4 3 -3 0 5 5 4 4 3 0 -3 3 -4 4 -1 2 0 0 0 3 -5 2 -1 -1 2 -1 -4 0 -5 0 3 -3 1 0 -5 1 4 4 -1 -4 1 5 5 -4 0 -2 3 -2 0 1 -1 -4 0 -2 -1 2 1 2 0 1 5 -3 1 -5
-4 -4 1 -1 0 5 5 -5 2 -4 -3 4 1 -5 2 -2 1 -4 0 4 -1 0 1 0 3 2 1 -3 0 5 -4 4 2 0 1 -2 2 4 4 4 -1 1 5 5 0 1 -3 2 0 5 -2 2 1 5 1 -1 2 -2 -3 -5 -2 3 -1 0 -2 -2 3 0 0 -2 -5 0 4 5 1 4 5 0 2 -1 -4 -2 0 -5 0 -4 3 0 4 -1 3 1 -4 2 -2 3 -1 -3 2 0
0 3 0 -1 -2 4 3 4 0 -2 -4 0 3 -3 5 1 -3 0 5 -5 1 3 4 3 -4 0 3 0 -3 3 0 -4 -3 -5 4 -5 0 -1 -1 1 -4 -1 0 1 0 0 5 -5 1 2 -4 -3 -1 -1 2 5 -2 0 2 3 -3 2 -1 0 3 0 -5 0 0 -2 -1 3 -1 0 1 4 4 -2 -2 -3 -1 5 2 0 -3 1 -1 5 -4 3 -2 2 0 5 3 2 -3 -4 2 -4
1 -2 -2 1 4 2 5 -4 -2 2 1 0 3 3 -4 1 -2 -4 -1 2 -3 0 4 -5 -2 3 -4 3 1 -1 2 4 -3 2 -2 -3 3 4 -5 2 0 4 -4 2 2 2 -5 -5 2 1 -2 0 -2 1 3 -5 3 3 2 -1 -5 -5 -4 5 -5 -4 2 0 -1 1 -1 1 2 1 5 -4 4 -3 -1 -1 4 4 -3 4 -3 5 -5 5 -2 0 -5 -2 2 4 1 3 5 0 -5 0
3 -2 -4 -1 5 -5 -3 -2 -5 -4 -5 -2 4 -2 5 2 2 0 0 4 -3 4 -3 0 0 -3 0 3 1 -5 -1 2 0 5 -5 1 3 -4 3 3 2 -1 -3 3 0 0 2 3 0 -2 0 0 0 -4 0 -5 -4 1 2 -2 -4 5 2 3 5 2 -2 5 -3 -4 4 3 5 1 -2 0 -5 4 -2 4 0 0 3 0 -5 3 1 5 0 0 0 -3 4 -4 -3 3 1 5 0 4
1 2 3 2 0 2 3 -1 -3 0 -1 -4 0 -2 -4 4 0 -1 1 2 1 3 -4 0 -4 5 -5 4 -2 0 5 4 5 -2 1 -1 3 -5 -1 -3 0 3 -1 -5 -3 3 3 3 -4 -4 -2 3 -2 0 4 -1 2 3 -2 4 0 1 5 0 -4 -1 -3 3 -5 -2 0 -2 5 -5 1 2 -5 2 -5 -4 0 1 -3 0 -2 3 0 0 3 3 -3 2 -2 2 1 2 0 -3 -2 -4
-2 3 -3 1 4 -2 0 0 -1 -5 1 -4 -3 5 2 2 0 1 0 -4 -2 2 1 -1 -3 -5 3 1 1 2 0 3 1 4 1 2 -1 3 -2 0 -1 -4 4 -3 1 5 0 -3 0 0 -4 -3 2 2 1 3 -2 -5 5 1 2 1 0 3 0 -3 4 -1 5 1 -5 0 1 1 -2 -5 -2 -4 -4 -5 -1 -2 4 1 2 0 -2 1 -3 -5 -3 2 2 3 0 5 3 -1 -5 -1
-1 5 -3 -3 1 3 0 -2 4 -4 3 -3 2 -5 3 5 1 0 0 2 -5 0 4 -5 5 4 4 5 -1 3 4 -3 -5 0 4 -5 4 -2 1 0 -4 0 -3 -4 0 -2 -3 5 2 -4 -2 -1 0 1 0 -1 0 5 5 2 1 1 -3 4 -1 -1 4 3 5 0 -1 3 0 0 -2 2 4 -1 1 0 2 2 -5 5 -4 -1 -1 -5 -4 0 3 0 3 4 -4 -3 -2 3 -1 0
-5 3 0 5 -5 -1 0 4 1 -2 -1 4 2 3 4 -2 0 1 2 3 4 0 -2 -3 0 -2 4 2 2 -1 -3 0 -1 0 4 -2 0 2 -1 5 5 0 2 -3 -3 -4 -2 4 -3 1 2 2 1 -2 -1 2 -4 -2 -5 -5 3 2 1 2 2 -1 0 1 5 0 -2 3 2 0 0 5 3 -2 -1 -2 -3 -1 -5 0 -4 -1 5 1 -5 -3 -4 -1 -5 -1 -3 -3 0 3 -2 -4
-3 -5 -5 4 -1 0 -5 -5 5 -5 2 2 -1 0 1 -1 5 0 5 0 -3 -4 -2 4 -1 1 0 1 1 2 0 0 1 0 -3 -2 -5 -3 -3 -3 -2 3 0 -2 0 0 3 0 1 -2 -2 2 -1 -4 0 -2 -5 -3 0 0 -5 2 -2 3 3 0 0 -3 -4 5 -3 -4 -5 -5 4 3 -1 4 -3 -3 -4 1 0 -4 0 5 2 5 -1 4 4 -5 1 -3 -2 -1 -4 0 5 3
-3 -5 -2 -4 5 2 5 3 -3 2 0 2 4 2 -2 5 -5 -3 1 -1 -4 -2 0 -5 -1 -2 0 -2 5 -3 0 3 -3 1 -3 -4 -1 -3 4 1 2 4 0 0 -5 2 0 5 0 0 0 3 5 0 2 2 -5 3 5 -4 -5 4 1 -3 -4 1 1 -4 -4 3 0 -2 0 4 0 -1 5 -3 1 3 2 -4 3 3 4 1 -1 4 -2 -2 3 0 0 5 3 4 0 -2 0 -4
3 5 -5 0 4 -4 3 -1 5 0 0 1 3 3 0 4 -3 0 -1 1 -3 -2 0 0 2 1 -2 -1 -4 -5 2 -2 0 0 1 2 -4 0 -5 2 3 1 1 4 4 2 -5 4 -1 1 -5 -2 -4 3 0 -4 2 -5 4 3 2 -5 -4 0 -4 4 -4 -1 -5 -4 -4 -1 5 4 -3 3 5 2 4 5 2 0 2 5 -4 4 -1 -1 -1 4 -1 3 0 -1 3 4 -1 -4 -1 4
-3 -4 0 1 0 0 3 0 -3 2 -5 4 3 4 -5 -1 -2 -4 4 0 1 -4 -1 2 1 -2 4 -2 0 0 -2 0 -3 0 2 1 5 -2 4 5 -1 -2 0 -1 3 0 3 -4 -5 3 4 0 0 -3 5 0 3 0 5 -4 5 0 5 0 0 3 -3 -5 -4 3 3 5 -1 5 4 0 -4 0 -1 0 5 1 0 2 5 3 0 -2 5 2 3 0 1 0 -4 4 -1 3 -1 1
1 1 -3 3 5 3 4 2 4 -3 -5 -5 1 0 -4 -2 1 2 -1 4 5 5 1 4 0 -2 4 -2 -5 -2 5 -4 -3 5 1 0 -2 5 5 -3 2 1 0 0 0 1 -3 2 0 -4 -3 3 -5 1 1 -2 -4 5 1 0 -2 -2 2 0 -3 2 0 -1 0 -1 -3 0 2 3 -1 5 -2 3 -5 -2 3 -5 0 2 -4 -2 5 -4 2 0 -3 0 4 -5 5 0 -3 0 -1 4
1 0 -4 2 4 -2 -2 4 3 3 0 -5 5 -1 -2 1 -1 1 2 -3 2 1 -4 -2 -5 0 2 2 2 5 0 -3 3 4 0 1 4 0 1 2 -2 3 5 1 0 2 3 -1 -5 4 5 0 -5 3 -5 4 3 -4 2 -5 -3 -5 0 4 3 -5 2 4 -3 0 -4 3 1 -3 0 1 2 5 -1 -4 2 -4 5 -5 -2 1 0 -2 -3 -4 2 0 -1 2 2 0 -1 3 1 -2
-3 -2 -3 -4 -2 4 4 0 4 2 -2 -4 -4 -2 -3 0 2 -3 4 2 4 4 -3 -5 2 -1 1 3 0 -3 -2 3 -2 -4 -5 5 1 3 -2 -2 -4 -2 0 -4 5 5 2 0 0 0 -3 0 -5 5 2 -4 -1 1 -3 0 -4 5 0 -5 -4 5 4 3 4 0 -3 -4 1 -4 -4 0 5 0 4 -3 -2 0 -3 4 0 3 5 1 -4 -2 5 0 0 -4 3 0 -2 -2 0 2
1 3 0 2 -1 2 -5 1 -3 1 -3 1 -4 -3 1 2 4 5 -1 1 1 2 0 -4 4 -3 -1 4 -3 -4 -3 1 -3 -5 5 -5 0 4 2 0 2 4 -1 2 4 0 5 -3 -3 1 2 -1 2 5 0 2 0 -2 -1 -3 -1 1 1 3 -2 -1 4 -1 3 1 0 -3 -5 0 2 1 0 -1 -1 3 -3 0 -3 0 2 4 4 0 -4 -3 -2 -1 5 2 -4 1 1 -5 -1 2
3 5 -5 3 -3 2 -5 4 -5 2 -5 -2 -2 1 -2 0 1 5 -1 -3 -4 0 3 -3 0 -4 5 1 0 -3 -2 -5 -3 2 2 -5 4 5 4 5 3 4 4 -1 3 -5 4 2 -2 0 -2 1 -3 1 3 -5 2 -5 -5 -1 -5 5 -2 5 -3 -2 5 3 -4 -3 0 3 -3 -3 0 3 3 -4 -3 1 4 -5 -4 0 -5 5 -2 2 -3 -3 -2 1 -1 5 4 -4 -5 0 1 3
3 -1 0 1 3 0 -5 -2 -5 2 3 5 5 0 -1 -2 -2 -1 3 0 0 -2 3 -5 4 -3 -5 0 -5 0 5 3 2 0 0 -1 0 -1 4 0 -1 -5 -5 4 -2 0 -3 -2 -2 3 1 0 4 -5 2 4 -3 5 4 -3 2 -5 -3 -3 -3 0 1 -2 -5 -3 0 0 -4 -1 4 0 0 -4 2 3 -3 5 0 -1 0 -2 -1 4 1 -2 -4 2 -3 -4 3 -2 -1 -5 3 0
-5 3 -3 -4 2 5 2 0 3 0 4 3 1 0 -2 -2 4 3 0 0 4 -3 0 0 1 5 -5 -5 2 0 1 3 3 0 -3 -4 5 2 1 -4 0 0 4 5 -5 4 -2 -1 4 1 0 0 -4 -4 1 -5 4 -2 -4 4 -5 -2 5 0 4 -5 -4 4 0 -2 3 5 -1 5 -3 -5 0 5 0 -4 4 -1 -1 -5 5 -4 -3 3 5 0 1 1 -4 4 0 -5 -4 0 2 2
4 0 -3 4 -3 -2 3 -4 3 0 -2 5 0 -1 5 4 4 -2 1 1 0 0 3 -2 -2 -4 -1 -4 2 -2 2 0 5 0 5 -3 -4 -1 0 -5 0 0 0 -2 0 -4 -3 0 -3 2 -4 3 -5 -3 -4 4 -1 -2 -5 5 3 0 0 -3 1 -5 3 -2 -2 -2 -5 0 -1 0 -5 -1 3 -3 2 -1 -1 -2 5 -2 -4 -4 5 1 4 -5 -5 2 2 -3 1 -2 2 0 3 4
0 -2 4 2 -5 0 -1 3 0 -5 -4 3 4 0 0 0 -1 1 -2 0 -3 -5 4 -1 -3 1 4 5 -5 4 0 0 4 5 2 4 2 1 -4 5 -5 1 4 -1 0 -5 -3 3 -3 -5 -5 -2 -4 3 -4 -4 -4 1 -3 5 5 -4 -5 4 -2 3 -4 -5 -5 -5 3 0 5 -1 1 2 2 1 -4 -2 4 5 0 -2 -2 0 -4 5 -4 3 -2 3 -4 -3 -2 -4 1 -2 3 1
-1 -1 -5 1 -1 -5 -4 2 0 5 0 0 -4 -3 4 3 -4 2 0 0 -3 0 0 0 -2 3 4 4 3 -2 1 -1 3 1 0 -5 0 4 -4 0 -2 -2 -2 -3 -2 4 0 -3 -2 2 2 4 1 -1 2 3 -4 0 -2 -2 5 1 0 -2 5 -1 -4 0 2 -4 4 0 3 3 0 0 2 0 -5 2 5 0 -3 4 2 -1 -2 -1 2 4 -5 5 1 0 3 3 4 2 3 3
2 -2 -3 -1 2 1 -5 -3 -5 -3 0 -3 -2 -3 3 3 4 2 -4 1 -5 5 -3 -3 -3 -2 -4 -1 -4 2 -2 -2 -5 -1 -3 -5 0 3 2 -4 1 3 -3 -2 3 -3 5 4 -2 2 1 -4 5 4 3 1 5 -5 3 -5 1 0 5 4 5 0 -2 2 2 -3 0 3 -4 -2 -2 -5 1 0 -4 -5 -3 -1 -2 -2 1 -2 0 0 2 4 5 -1 -4 -2 -1 1 -4 0 -1 -3
-4 0 1 3 1 -4 -5 5 -5 -2 3 -1 3 -1 0 2 -4 1 -5 -5 0 4 5 -2 -3 -1 -1 -1 -1 -5 -4 -1 2 2 -4 2 -2 -4 5 5 -2 1 4 -5 -5 -2 -2 -2 -3 -3 -2 0 -5 -3 -2 1 -4 2 1 5 -5 5 -4 -3 0 1 4 -2 4 -4 -1 1 2 -4 4 0 1 2 0 -1 0 -4 3 -5 5 -2 0 5 -2 0 -2 -4 3 -3 -3 5 -3 0 0 -3
-4 -5 -2 0 1 -2 3 -1 0 4 -3 5 -3 0 1 3 1 2 -4 -5 3 -3 -5 5 -5 -5 4 -4 -5 -3 -4 3 -5 -2 -4 4 -5 4 4 -2 -4 -5 -4 -1 0 0 -4 5 2 1 0 5 0 -2 3 -4 0 -2 -1 -2 -2 -5 3 0 -5 0 -4 -2 -1 -5 3 -4 1 4 -2 -2 -4 0 0 -3 -4 -3 1 4 -4 3 3 -1 -4 0 -1 0 0 -4 -1 -1 5 -5 5 -3
-4 4 -1 0 5 2 -4 5 0 2 0 1 -2 4 5 4 -2 -2 -1 5 -2 -2 -2 0 5 4 -1 -2 2 1 -2 -4 0 0 3 4 0 5 -1 -3 -2 2 1 4 -3 0 -2 2 0 -1 -3 -1 5 5 0 -2 0 -5 0 3 -1 5 4 0 2 0 -5 -3 -4 5 -5 0 0 -5 -4 5 0 -2 2 -5 0 -3 0 3 -3 -3 -2 4 5 4 3 0 5 -3 -1 -4 -5 2 0 1
1 2 -5 2 4 2 2 3 -5 0 -3 0 -4 5 4 1 1 -2 2 0 5 1 4 4 0 -5 0 4 0 4 0 1 -1 4 0 -1 -2 5 0 -2 -4 -1 0 5 1 2 5 0 1 2 -4 -1 4 0 0 0 -1 5 3 -5 -2 -2 0 3 -3 1 -1 -2 0 0 -4 -4 5 -1 5 -3 4 5 -4 2 0 -3 0 -5 1 -4 -4 5 1 -5 0 5 0 4 1 0 -4 -4 4 3
0 2 0 0 3 -3 -2 5 0 2 0 0 -4 3 -3 3 1 -5 -4 0 -2 1 -3 -3 -5 5 -3 3 1 -1 5 5 -5 -3 -2 -5 1 -5 -1 -4 1 1 0 1 1 3 5 -1 3 1 0 4 4 -2 -1 0 0 2 5 1 1 -4 5 2 -3 2 -4 0 0 -2 -4 0 4 3 -2 4 3 -2 -4 0 -3 0 -2 -2 -5 1 2 -5 3 3 -3 4 -1 2 -1 0 0 -3 0 0
0 4 -2 2 -2 -2 1 2 -3 -4 2 1 -1 -3 -3 -4 5 5 3 0 1 -4 5 0 1 -2 3 0 0 0 -2 -4 1 -2 -4 4 -2 -1 4 -3 0 2 -2 5 2 -2 3 -4 0 0 -3 -5 3 -3 4 -1 -4 0 4 0 -2 4 -3 0 0 -5 -2 4 0 0 5 2 2 5 -2 3 -4 -2 -4 -4 2 -2 3 -4 3 2 3 -3 2 -2 0 1 2 -4 -3 -4 -2 -2 -5 -4
5 4 -4 1 0 -2 0 -1 -3 -5 0 5 -3 3 0 5 -5 -5 0 4 -1 -5 2 2 0 -4 5 1 -3 2 -2 -1 0 3 4 1 -4 0 2 -2 -4 3 -1 -1 -5 -2 -3 1 2 0 0 5 1 1 -1 2 -4 1 0 3 4 0 0 -1 -4 -5 4 0 3 -5 0 3 -2 1 3 0 -5 -5 1 3 3 -2 -1 4 3 3 5 -2 -5 5 0 0 1 -3 -5 4 3 3 -1 0
3 -1 4 -3 -4 -4 -2 1 1 0 2 4 -1 -5 0 4 -1 -2 -5 -3 4 0 -1 -5 4 -4 -4 4 -2 0 0 -3 0 -5 -1 3 -2 3 1 -4 -5 -1 -1 2 -2 -4 -3 -1 -3 4 -3 -2 2 3 -1 -1 -4 -3 -3 4 4 -3 -3 0 0 1 -4 0 0 -4 2 -3 0 0 0 -1 -3 -5 -1 -1 5 4 4 -4 2 0 0 0 -5 -1 -5 0 5 -2 3 1 -2 0 -5 3
-4 3 0 5 4 0 5 0 3 -5 3 0 -1 4 3 3 -2 -3 0 4 3 5 -1 -2 -3 -2 3 -4 0 1 3 0 2 2 1 -3 -3 0 2 2 -4 0 1 -1 -4 5 0 -1 -1 0 -1 5 5 1 -5 -3 -3 3 4 1 3 0 0 -5 4 -3 2 1 2 4 2 0 5 2 -5 0 -1 2 0 2 5 5 -2 1 -2 1 -3 -4 -2 -2 4 4 0 0 -3 -5 5 -4 -3 2
-2 1 -5 3 -1 -1 4 -3 -5 -1 4 -4 5 -3 -1 0 2 -4 4 -1 5 3 -3 1 -4 4 1 -5 5 -2 0 3 4 -1 3 -3 0 -1 1 2 5 -3 -4 -5 4 0 -2 -5 2 -2 -4 0 -1 0 4 3 -2 -1 -1 -5 3 -4 -3 -5 -1 1 3 2 3 -5 -3 -1 -2 -5 -4 1 2 -2 -4 -3 4 0 2 1 -1 1 5 -1 3 1 2 -2 0 -3 -2 1 4 -3 1 5
-2 2 -5 1 5 0 2 -3 -3 0 1 -2 0 -4 -2 -1 3 0 2 0 -4 -5 2 0 0 4 0 -3 3 -5 -1 -5 -3 -4 1 -2 0 5 0 -3 5 -4 4 -5 -1 5 -1 3 5 -1 3 -3 0 -3 4 5 0 2 2 -1 3 5 -3 -3 1 4 -2 5 -1 -5 5 0 -2 0 2 0 -5 -3 1 0 -3 -5 -2 -4 0 3 -3 0 -2 1 -2 1 -5 -4 1 -3 0 -2 5 -1
1 -1 2 5 -2 3 3 0 0 5 5 2 2 4 5 1 0 2 2 0 -3 0 3 1 -3 -5 0 -4 -1 -1 5 0 4 -3 4 5 4 0 0 4 0 5 2 5 -2 -4 1 4 1 5 2 -1 5 0 0 -4 -5 0 -2 -3 1 0 1 -1 0 2 0 -5 3 3 -5 -4 -1 -2 -1 0 -4 -5 -1 -5 0 4 4 3 0 0 -3 1 3 4 -1 5 1 -4 1 4 3 2 -1 -5
-5 2 1 0 2 -3 -4 -2 2 -3 0 4 -1 -5 3 5 -5 0 -5 -3 -5 -4 5 -5 5 -3 -5 3 0 -5 -4 2 -3 5 0 0 1 5 -1 0 -2 -1 3 3 -1 -5 1 -1 0 5 -5 0 4 -3 -5 -4 0 -2 1 5 2 0 -4 1 -2 3 -4 0 1 0 -3 -2 -2 2 3 0 1 -3 -4 1 -2 4 0 -3 -5 1 -4 5 1 2 3 -2 -1 4 1 0 -4 -3 5 -3
-4 -2 4 3 -3 -3 -5 5 -1 -3 -2 3 -3 -5 0 1 5 -1 -5 2 -1 -4 -1 0 -5 -4 -3 5 5 -3 -1 1 -4 -3 0 -3 2 4 2 -5 -5 4 -3 0 0 -2 2 -4 4 1 -4 5 -5 -2 3 3 3 -5 1 -2 2 -3 3 0 2 -2 5 4 -2 1 -3 0 5 -3 -2 -5 2 2 0 5 4 5 -3 1 -5 3 1 -1 1 -4 2 -3 4 5 5 -3 1 2 5 -5
4 -5 0 0 0 -4 0 1 5 0 1 1 -1 5 -3 -1 5 0 5 -1 5 1 -5 -2 5 -1 3 -4 3 3 -3 2 -3 2 5 0 -1 1 1 1 0 1 -5 4 -3 -1 5 0 -3 2 -5 -2 4 -4 0 5 -2 3 3 -5 -4 -2 4 -2 -5 3 0 -5 4 1 1 -4 -5 1 0 -4 -1 5 3 2 3 -3 4 0 3 2 0 -3 -4 -5 3 -4 2 -2 4 4 -1 -2 0 -4
0 -5 3 -5 -4 2 1 4 -4 3 4 -4 -5 -1 -5 -1 -2 -5 0 2 1 -4 1 -4 -2 4 -4 -2 2 -4 0 0 5 -2 5 0 1 -4 0 -1 1 -3 -4 5 1 0 -2 -5 2 4 0 0 0 0 3 -1 -2 -4 -5 1 5 -2 5 -2 -4 5 3 1 4 4 -1 -5 -4 -1 -5 0 -1 0 0 5 -2 -3 1 1 -4 2 -2 -4 0 3 0 -1 0 -5 2 -4 -4 2 1 0
3 -3 1 -5 4 -1 -2 -3 0 -3 -5 1 2 -5 -3 -4 -2 -3 -4 -3 -1 5 0 4 -1 -1 -2 -5 -5 2 1 2 4 1 3 4 0 -5 -1 -5 5 1 -1 -3 2 -4 0 2 -1 3 -4 0 2 -1 2 -5 -4 0 0 4 -3 4 4 -2 0 -4 1 3 0 -3 1 -3 -3 -5 -5 4 -3 0 4 4 2 2 -3 2 -1 0 0 2 2 2 -2 -3 2 -3 0 1 4 4 -3 -1
-5 1 -3 -5 -2 3 4 3 -1 -4 0 0 -5 3 2 0 1 5 -3 0 0 -2 0 1 3 0 3 0 -1 1 -2 5 2 2 -4 1 -5 4 -4 2 -3 5 5 2 -1 -5 -5 0 -4 5 1 5 -5 -3 -5 -5 1 4 5 1 0 -5 2 -3 1 -4 -2 3 3 2 5 -3 -1 -4 -2 1 5 3 -3 -5 1 0 3 0 -4 2 0 5 -3 -5 3 -4 -2 5 -4 -4 3 1 -5 -4
-1 -1 -3 0 -2 -4 0 1 5 -2 5 -2 3 -3 0 5 0 2 3 -2 3 -4 4 0 4 5 -4 1 0 3 -1 5 3 -2 -4 1 -2 0 -2 0 0 5 4 -3 1 2 -3 5 -2 1 -1 2 -3 2 3 3 4 0 -3 5 0 2 5 -2 3 5 -5 2 5 0 -5 -1 -2 5 1 -5 3 -1 0 0 0 4 3 4 5 0 0 0 -3 -3 -3 -2 5 2 -5 4 4 -3 2 -4
1 -3 1 1 0 2 1 1 5 5 -5 -1 2 2 4 5 3 -5 0 4 -2 -5 2 0 -5 4 4 0 3 -3 -4 -3 3 1 -3 2 -5 5 -3 2 0 1 4 0 1 0 -3 -2 0 0 1 3 1 1 3 -4 -5 0 4 5 2 -2 -4 -1 0 0 -4 -5 0 0 5 1 5 1 2 2 4 -3 -5 0 4 3 -5 -2 -2 -4 3 -2 -5 5 2 -3 -3 -2 3 2 -5 2 -2 0
0 -5 4 -3 4 2 -3 -3 -3 -5 1 -1 5 0 0 4 5 0 0 0 0 -5 0 2 2 3 -1 -2 1 -4 5 -1 0 3 -1 3 -2 0 4 4 -4 -1 2 1 1 1 5 1 -2 0 3 0 -5 3 -2 -3 0 5 -2 4 -5 5 5 0 5 5 0 -4 1 3 -2 0 4 -1 5 -5 -1 4 5 -5 -2 -4 -3 2 3 -4 5 4 -2 -1 -1 3 -2 2 5 -4 -3 -3 -4 3
-3 4 -5 1 -3 -3 5 -5 1 -2 1 0 -2 -4 -2 3 5 -4 0 -4 -3 2 2 5 1 0 -1 2 5 4 -4 4 -3 0 1 -1 3 3 0 3 0 5 5 -1 -1 4 -2 -2 4 -3 -5 0 0 2 -4 -4 5 -4 0 1 2 4 4 4 2 2 -4 -3 -4 4 0 4 -4 0 2 -4 4 -3 -1 -5 4 -3 3 -4 -2 2 -1 0 -3 -5 -4 3 -2 1 4 -1 4 -3 2 0
5 -3 -2 -3 4 -3 -1 -5 3 -1 1 -2 4 -1 2 -2 4 -5 -2 5 2 1 5 -4 -1 5 -5 -3 2 -1 0 2 4 0 5 -5 0 1 -4 5 -4 -5 4 2 -5 0 -4 0 3 0 -3 0 -4 0 5 4 -1 0 -4 -5 -4 -5 -1 2 0 0 3 1 -3 0 3 3 -3 -2 0 -2 -1 1 -4 1 3 4 0 -2 -1 4 5 4 0 3 5 -3 -1 -5 -4 -3 1 -1 0 -4
-2 -3 3 -5 2 0 -2 -3 4 0 4 -3 1 -4 4 0 0 0 3 0 -2 -2 3 -4 -3 -3 0 2 0 2 3 1 -5 5 -2 -1 -1 -5 -3 -3 4 -1 -1 0 -2 1 -4 -5 0 -1 -3 2 4 4 4 -2 -1 2 3 2 2 3 0 0 5 -3 -3 0 3 1 0 -4 4 0 2 4 -5 0 -2 3 -5 0 -4 -4 4 0 2 4 3 1 -3 -2 0 2 1 0 5 -4 5 4
5 2 0 -4 2 3 5 -1 -5 1 0 -4 0 -2 3 4 -1 2 -5 -3 -5 2 5 2 0 0 4 5 -4 -1 -1 -5 1 -2 0 1 -4 0 5 -2 0 -4 1 -2 -3 2 2 5 -1 0 5 -5 2 -1 5 -4 -2 4 -5 -3 2 0 -5 -3 1 -2 -3 3 0 -5 2 0 -4 0 -4 4 -2 -4 1 -2 2 1 3 5 -1 -4 1 4 2 0 0 -4 -3 0 -2 0 1 1 -5 -2
-4 3 -1 2 -5 0 0 1 -3 4 -3 5 -2 3 -1 -4 -4 -1 3 0 5 5 0 -3 1 2 -1 0 4 -3 -3 0 -4 2 3 1 -3 -2 4 0 5 3 3 -2 0 4 -2 1 5 -1 2 2 0 1 0 -4 -2 -4 -5 0 0 -3 4 -3 -3 -2 -1 5 5 -2 -3 4 -1 0 -3 0 -3 -2 1 1 -1 -3 -4 -5 5 -3 2 3 -3 -3 0 5 -5 -5 -4 -2 -2 4 -3 5
-4 -4 -5 0 1 2 -1 4 3 1 -5 -2 -4 -3 1 2 3 -3 -4 1 1 -2 0 3 -5 1 4 -1 2 -1 -3 0 -1 3 4 3 5 -2 -5 5 5 4 3 -4 0 0 -1 0 4 -1 -5 -4 2 0 2 5 -3 5 5 -1 -1 2 1 0 -2 -4 2 0 2 -2 1 0 -2 2 -4 0 -4 3 4 -3 0 0 -1 -3 -3 -5 -5 0 2 -5 -1 -4 2 0 -4 -2 -3 -1 3 0
-4 -1 0 -5 0 -4 -2 -5 1 2 -5 3 -1 -2 -5 5 -1 4 -3 -2 1 5 0 -4 3 5 -2 -2 4 5 -1 3 2 5 3 4 3 -5 -5 -2 2 2 1 3 5 2 -4 0 -4 0 3 -2 4 -1 0 -3 -2 3 -4 -2 0 4 0 2 0 -1 -3 -5 3 -2 -1 1 -2 0 -2 2 -3 4 1 0 0 0 2 -4 -1 3 5 0 2 1 -3 5 3 2 5 2 3 -1 -2 4
-5 0 1 2 -1 0 -3 -1 4 -5 3 0 -2 -4 1 1 3 0 0 -5 0 0 3 2 0 -1 0 1 1 3 -4 1 2 -1 5 -3 3 2 2 1 -4 -4 5 -4 -1 -4 -2 -5 -1 4 1 -1 5 1 -2 -2 -2 0 5 -3 4 -2 1 1 2 -1 4 -5 4 -5 0 3 0 -1 -5 0 0 0 0 -2 0 1 4 0 5 -4 -3 1 3 -4 3 -2 0 -3 5 4 4 -4 3 0
1 1 0 4 5 0 -2 -3 -1 -2 2 5 0 3 -3 0 2 -5 -5 -5 -1 -4 -2 1 0 5 1 5 -3 3 0 -2 1 -1 -3 -5 -4 -4 0 4 1 4 4 -5 0 -4 2 -5 2 -5 4 4 2 0 0 3 5 -3 -2 2 4 3 5 -4 0 5 -2 -2 -3 -4 -3 -5 4 0 2 -5 2 1 4 -3 -3 4 -1 -3 -3 0 0 -5 -4 1 -4 -3 1 -5 -1 3 5 0 -5 3
0 2 -5 0 2 -1 2 0 0 -3 2 0 2 3 4 -5 -5 0 5 4 -1 -1 -1 4 -2 -5 0 3 -1 -1 1 1 0 -2 1 2 2 -1 -2 2 -1 -4 -1 5 -4 -1 5 -4 2 -5 1 -2 -2 5 -1 -5 -3 0 2 -4 5 -5 5 -2 3 5 -3 0 0 2 0 0 -1 0 3 -5 -3 3 -1 -1 -5 3 -3 -5 4 0 5 -1 4 0 1 -2 4 5 -4 3 2 2 0 -5
-2 3 3 2 2 0 5 -4 -5 -1 -5 -3 -5 -2 5 0 2 4 4 0 -4 0 -2 -1 -4 -2 -4 -2 -2 4 2 5 1 5 -1 4 5 4 3 4 -2 0 -5 0 2 -5 3 -1 0 0 0 2 -3 5 0 3 0 5 3 -2 5 0 3 1 4 -4 2 -4 -3 -2 -3 3 4 5 -1 5 0 3 1 3 -2 -3 0 -5 -4 -3 0 0 1 0 -2 -5 0 -5 1 -1 3 1 -2 -4
-2 -1 4 2 5 4 -1 -1 2 -5 -3 4 3 5 -2 0 0 5 -3 -3 3 0 -2 -2 4 -5 5 -3 -2 -4 -3 -1 1 1 -5 -5 0 -5 0 -2 -3 -2 -2 -5 1 4 1 0 -5 -3 -1 -5 -3 4 0 -2 5 -2 5 -5 1 2 -3 2 0 -3 -5 1 -1 3 -1 -1 -2 1 -5 0 1 -3 -5 -5 3 1 -3 -4 4 0 -4 4 2 0 -4 -3 5 -5 -2 5 5 1 -2 -4
0 0 4 2 4 -4 2 -1 -2 3 -4 3 0 -3 1 3 0 4 -5 -3 -2 4 1 0 -1 -1 0 2 5 0 2 -3 -3 5 -3 -2 -2 3 4 -4 0 -5 4 4 -4 0 5 -3 0 -2 5 1 3 2 -2 3 -3 3 -4 -3 -5 3 4 0 -4 3 4 -5 0 0 4 5 -2 4 -2 -3 -2 -5 2 -4 3 -4 -3 2 0 -2 -2 -3 1 -3 -4 3 -4 0 -2 3 -5 3 1 2
-2 4 1 5 1 -1 2 -5 -1 -4 1 -4 0 -2 -2 -3 -4 -4 5 1 3 3 2 4 4 -3 -5 5 0 -1 0 5 5 -2 3 -1 -5 1 -3 -4 1 -1 3 -3 -4 0 -4 1 -2 5 -1 -5 0 4 -2 1 -2 -5 5 -2 0 -3 0 0 1 -3 -5 1 -5 -1 -5 -2 -4 4 2 2 5 2 2 0 1 -4 -4 -4 -3 1 -2 -2 0 0 -4 -4 5 -2 3 1 5 0 3 0
-5 -2 1 3 3 5 -2 -4 -3 -1 0 1 -3 1 5 -4 4 0 2 0 1 3 -3 -2 0 5 -5 1 5 0 5 -4 -3 1 5 -3 4 4 2 -2 -5 0 -2 4 0 -5 -4 -5 3 0 3 1 1 1 2 0 -2 4 0 -3 0 3 0 -1 -2 -1 0 -1 0 0 -5 4 1 -2 3 4 -2 -4 -2 5 0 -5 -2 0 0 0 -4 4 1 4 -1 -3 1 -3 5 -4 2 -3 0 -4
1 2 -1 5 -5 -4 -1 2 -4 5 0 5 3 4 0 0 2 2 -4 0 -4 2 5 4 -3 5 3 4 1 -4 0 2 1 -3 0 -2 -2 -2 1 0 0 -2 2 -4 3 1 2 2 5 2 -3 4 4 -4 -4 3 1 2 -5 5 3 -5 3 2 0 -4 5 0 5 -4 0 -4 0 -5 -1 2 3 5 4 -4 -1 0 4 -4 -3 1 -4 0 0 -2 -3 3 3 2 -2 3 5 4 4 5
1 3 3 -3 4 1 -3 -5 0 1 1 5 4 -3 -1 -4 3 -1 -2 1 -1 2 1 2 -1 -5 3 -5 1 0 3 0 3 -5 3 -1 -5 -4 -2 -1 0 0 -1 -4 0 -3 -5 -5 -5 -4 3 0 2 5 0 1 0 -2 -2 -1 -2 5 -3 -1 -3 -2 -3 -4 4 2 -1 0 -5 0 4 -3 1 3 5 -1 -5 -1 -3 3 -3 -1 3 4 0 0 -3 -3 -2 4 -1 4 -3 4 0 0
-3 2 1 -2 -2 0 1 -2 4 -1 -5 2 3 5 1 -2 -1 -1 0 4 -5 -3 3 0 1 0 5 5 0 -5 -4 0 5 0 -3 -5 0 5 5 -2 3 -1 -5 -4 0 -3 -3 0 2 -2 1 4 5 0 -5 -5 3 -5 -2 -2 0 0 2 5 -2 -4 -2 3 -2 -2 0 0 -5 -2 0 4 -4 -2 5 -4 -5 -4 4 0 -2 -3 3 1 -3 1 -3 0 -3 -5 -1 -3 -2 3 -5 2
-1 -3 3 -5 2 5 3 2 2 1 4 -1 -2 2 0 -1 -2 -4 4 2 -1 -1 -5 0 3 0 -3 3 3 -2 0 -2 -3 3 4 4 0 -4 -1 4 4 -4 -1 2 -1 -5 -5 0 -1 -3 5 2 2 4 -2 -3 0 -2 -2 0 -5 4 1 2 -2 -2 1 0 -2 -2 -2 4 5 2 0 2 4 0 -5 -5 0 1 1 3 -3 4 0 0 0 4 -3 -3 5 5 -4 -2 -5 3 1 2
5 -4 1 -4 2 -4 0 3 -3 5 0 -5 -2 2 -2 -5 4 3 -1 -5 -2 -5 -5 1 0 -3 5 -1 -5 -5 4 4 5 4 2 -2 -4 -5 -3 -3 3 4 0 -3 5 0 0 2 -5 5 4 -4 1 -5 -1 5 5 -2 0 5 0 -1 3 0 -5 -1 1 -2 0 -3 0 -5 4 0 -5 1 5 -2 3 -3 -3 5 0 0 -3 -5 0 -5 -1 1 -2 1 4 1 -5 -2 1 3 0 4
4 -5 -1 -5 5 0 0 -1 1 -5 0 -4 0 -2 4 4 5 5 -3 5 0 -4 -3 2 4 2 5 3 -4 2 5 -2 5 3 2 -3 3 1 -4 0 -5 5 4 -4 0 2 5 2 -3 -3 0 3 -2 4 -4 4 0 -2 -4 1 0 2 2 -5 -5 -4 -1 -1 0 3 -3 -4 -4 0 1 3 1 -4 -1 -2 0 0 1 -5 -3 -2 -1 -2 -1 3 -3 -5 4 -1 -4 -3 -2 3 0 -5
0 5 -5 -2 3 0 -2 -4 -4 3 -5 -4 0 4 2 5 0 0 5 0 0 5 0 -2 1 -3 -3 3 -2 5 0 4 -4 -4 2 3 2 -4 -4 -3 -4 -3 0 -1 -3 -4 -4 0 4 5 4 -1 -2 5 -3 0 2 1 -2 2 -2 3 5 0 4 2 -1 1 2 1 -1 5 -2 2 2 0 4 -2 5 4 3 -4 2 0 3 5 0 -3 -2 -5 4 -4 -3 0 -3 0 5 4 -3 5
0 -4 0 1 0 -2 -4 0 -2 5 4 0 -2 -4 -1 -4 0 -2 5 0 5 0 5 -1 -2 4 0 -1 -4 -4 -3 -3 -3 0 2 0 1 5 -1 -1 -5 0 1 4 -3 -5 -2 3 -1 -4 0 3 -2 -1 -4 1 -1 0 -4 -2 1 2 0 -2 -4 4 0 2 5 3 -4 -3 1 1 -1 -4 4 -3 0 1 5 5 4 0 1 -5 0 -4 2 -2 3 1 -1 -2 1 -1 0 5 -1 -1
4 1 -4 -5 -3 -2 -1 -2 -5 -5 -5 0 5 0 -3 -3 -1 -5 0 2 2 5 0 4 -5 1 -3 -4 -3 -1 -3 3 -1 -2 -1 0 -2 4 -5 3 5 -2 1 3 -5 -3 -3 1 4 0 1 -2 1 2 4 -2 4 0 -2 -1 -1 2 0 -2 4 0 -5 2 2 1 5 2 4 4 -4 1 3 -4 2 -3 -4 -5 -4 -5 -1 -1 -4 0 0 -4 -1 2 -1 -2 -1 -2 2 0 -4 -2
0 -1 3 0 -5 -2 -5 -3 -5 1 4 1 5 -2 -3 4 0 -4 -1 -4 2 -4 -2 -1 -3 2 5 -2 -2 -2 0 4 0 5 -4 1 3 1 5 -2 -1 0 1 -1 -1 5 -4 2 -1 -4 -3 -4 -3 0 -3 2 2 -3 3 -4 -4 0 5 3 1 -3 0 -1 3 3 3 -4 3 4 -4 -2 4 0 2 -3 4 2 2 -5 0 2 -3 4 -4 -2 -3 -3 0 5 -1 -4 -2 5 -2 -1

View File

@ -1,20 +0,0 @@
36 -40 -59 37 -47 -29 -4 12 49 45 37 49 -31 16 20 19 -26 -30 -21 18
43 16 43 -3 37 -5 -11 -46 4 38 27 -38 35 30 37 59 -29 26 -55 52
-25 -48 30 33 -42 -55 54 26 54 -23 47 13 28 31 -53 54 -10 -50 -24 12
-17 16 -1 13 3 -34 -56 -7 34 -44 15 -58 25 -38 -12 -34 42 12 -29 -59
34 4 39 -5 21 -32 -54 -58 -51 -45 -51 28 -59 45 44 8 52 -52 15 24
21 -35 2 16 57 -2 -28 -54 41 -18 34 -28 46 -2 28 13 -38 37 -32 -34
-18 41 -23 -54 -5 36 -44 -2 38 1 4 -24 39 -41 42 48 -57 -3 -26 26
-29 25 -39 -14 7 -50 4 41 -21 21 -18 27 -29 19 -3 -57 -27 21 -4 -27
43 -31 -38 37 -24 16 -52 -49 11 -49 20 59 9 -24 0 -7 -39 -22 -37 -2
58 -43 -24 -53 -50 16 -3 27 36 -28 -29 -21 -41 -26 57 12 -23 31 -19 55
-38 -43 36 -51 -57 48 42 -58 -17 -47 -32 23 -26 -46 46 -52 48 21 50 -17
47 21 -44 2 42 10 59 -12 29 11 12 24 -11 53 -1 23 -27 59 -57 45
25 19 -54 30 19 12 -24 -40 -38 -6 -26 1 -15 41 53 7 -27 -37 -4 50
-51 -30 -34 -55 -24 44 18 -56 56 33 -38 -38 1 -34 0 -27 19 -30 2 -35
15 -34 12 6 -46 -56 1 57 -9 -28 -37 7 37 -13 -1 -24 -40 -56 52 5
-4 -7 1 -32 38 -58 -8 -12 -56 6 -57 57 -38 -21 -35 3 -20 -17 8 10
-50 50 5 44 -39 -6 -48 12 -38 36 -47 -57 46 8 -54 44 55 31 -41 -40
-27 55 5 27 13 54 21 5 -20 -35 22 -30 56 3 -9 -9 43 26 -53 -24
43 -37 -4 0 -22 -10 50 -55 18 -40 -29 -57 10 -8 23 33 -38 59 53 50
-41 41 20 51 -6 48 -11 57 -44 59 33 35 3 21 -11 51 -4 -19 39 -19

View File

@ -1,11 +0,0 @@
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 10 10 0 0 10 10 0 0 0 10 10 10 10 10 0 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0
0 0 10 10 10 10 10 10 0 0 0 0 10 10 10 10 0 0 0
0 0 0 10 10 10 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 0 0 0 0 0 0
0 0 0 0 0 0 10 10 0 0 0 10 10 10 10 10 10 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

View File

@ -1,50 +0,0 @@
3 2 2 -1 0 0 1 -2 -3 -1 3 0 1 -1 0 3 0 0 0 -3 -1 -3 3 -1 1 2 2 -3 -3 3 -3 2 -1 2 0 3 -1 0 3 -1 2 1 0 -1 1 0 -1 3 -3 -3
-3 2 -1 3 -1 -3 0 0 -3 0 0 0 0 -1 3 0 -1 0 1 3 1 1 0 2 1 0 -2 1 -3 3 -3 0 2 2 -3 -1 2 0 0 -3 1 1 0 0 2 3 -1 -1 1 -2
0 -3 -1 1 2 0 -1 3 -2 -1 1 2 -2 -3 -1 1 -3 2 0 0 2 0 1 3 -3 -1 1 0 2 -3 3 -1 3 -2 -2 0 1 2 -3 2 -3 -2 2 0 1 -3 -2 0 -2 1
-1 0 0 -2 1 -2 0 0 -1 -1 1 0 -3 3 3 2 0 0 0 0 -2 3 0 3 2 1 1 2 0 -3 -3 0 -3 -2 -2 0 1 -2 0 0 -3 -3 0 2 -3 -3 1 0 2 2
1 -3 -2 -2 0 3 0 0 -2 2 -2 3 -2 -2 0 -2 2 3 0 0 -1 -1 1 -1 1 0 1 0 -2 0 3 -1 3 -3 0 2 -3 0 0 1 0 0 -3 0 1 -2 1 -1 -2 -2
-2 -1 3 -2 0 1 -3 3 1 2 2 3 0 -3 -1 1 -1 2 0 1 1 -1 -2 -2 -3 3 0 0 -1 0 2 -3 -1 3 0 1 -3 0 0 -3 2 0 1 0 1 -3 -3 0 1 1
-3 0 3 0 0 -2 1 -2 0 -1 0 1 -3 2 -2 -2 2 0 -1 -1 0 -3 -1 0 -1 0 0 -2 2 2 3 -3 1 -2 -1 -1 0 1 -1 0 0 2 -1 1 0 -3 -1 -2 0 2
-1 -3 0 -1 -2 3 -3 -3 2 2 1 0 -1 2 -2 2 0 1 2 -3 3 0 2 3 -3 -3 3 0 0 -2 2 -2 -2 0 3 -1 2 0 0 1 2 0 -2 -2 -2 -2 3 -3 -3 0
2 2 3 0 3 -3 0 -3 0 -1 1 -3 0 1 -2 1 2 -3 -1 0 1 0 -1 0 1 3 -1 3 3 -2 1 3 -2 2 0 0 1 1 2 0 3 2 1 -2 2 -1 -3 0 0 2
-2 -1 2 -2 2 -3 0 3 -2 3 0 -2 -1 -2 2 -2 -3 -1 -1 -2 -1 1 1 -1 0 -3 3 -1 2 -2 2 -3 0 0 -3 -2 -1 2 2 2 2 1 1 2 0 0 2 3 0 1
-2 0 -2 0 2 -2 3 -2 2 0 0 3 -1 0 1 -1 -2 -3 2 0 -3 0 -3 1 -3 1 -1 -2 1 1 0 3 3 -2 -1 0 3 0 -2 0 2 2 3 0 -2 -1 0 2 -2 0
-3 0 0 -1 -2 0 -2 2 -3 -2 0 -1 2 3 0 0 -3 0 1 1 0 -3 0 0 -1 1 3 -1 0 0 -3 1 -3 -2 1 -1 -2 -1 3 2 -2 -1 1 2 -2 -3 1 3 2 0
-3 3 -3 -1 -2 0 3 2 0 -1 0 3 2 1 -2 3 -3 2 -2 0 -2 3 1 -1 2 3 -2 2 1 3 1 3 1 -3 3 -2 2 -2 1 2 -1 -3 0 -2 1 3 -1 1 3 0
1 3 0 0 0 0 0 -2 1 0 3 -2 -2 2 2 2 -3 0 0 1 0 -1 2 1 -2 0 0 3 -2 0 0 1 1 -2 -2 -2 1 1 3 -3 0 1 0 0 0 3 -2 3 0 3
-1 2 -1 1 0 -1 2 0 -3 2 -1 2 2 3 2 2 -2 1 0 0 2 0 -2 -3 1 0 -3 2 0 2 -1 -2 -3 0 3 -3 3 -3 -2 1 -3 1 0 0 0 1 -3 -2 0 -1
1 3 0 3 1 0 -2 0 -2 -2 -2 -1 -2 -1 -2 1 -3 2 0 0 0 -1 0 2 -3 0 3 -3 -2 -2 3 3 -1 2 -3 -2 0 -3 -1 -3 3 0 2 -2 -2 -2 3 0 -2 2
1 0 1 -1 3 -2 0 0 2 0 0 0 -3 -2 0 1 1 0 -3 -2 -3 2 -3 1 2 0 3 1 1 0 -1 -3 1 -2 -1 -3 2 3 -1 3 0 -3 2 1 -3 0 -1 -3 -3 2
-3 2 0 3 0 0 1 2 -2 -1 0 -3 -1 0 0 -2 3 0 3 3 0 -2 3 -2 -1 -2 -2 -1 -3 0 -1 0 2 0 -1 0 1 -1 -1 3 0 0 0 -2 -3 2 0 -3 0 3
-1 2 3 0 -1 -1 -2 0 3 0 0 2 3 -2 0 -2 0 3 2 1 0 -1 3 -3 -3 3 2 0 0 2 0 3 0 1 -1 -1 2 -3 -1 -2 0 0 2 -1 1 0 -2 2 -3 2
-2 2 -3 0 0 0 -2 3 1 0 -3 -3 0 0 3 2 0 -2 3 2 0 1 0 1 0 3 0 0 2 1 1 -1 2 0 3 -1 2 2 0 1 0 0 1 3 -1 2 3 3 3 0
0 2 0 -1 0 -2 -1 -1 -1 -2 -1 -2 -1 3 -3 -1 0 3 0 3 0 2 2 -3 0 -3 1 3 -2 0 0 -2 3 0 0 2 0 -3 2 -3 0 -2 -3 -3 2 2 0 -1 1 1
3 -3 2 -1 -1 -1 0 0 2 1 2 -2 -1 -3 3 -1 3 0 -3 3 2 2 0 3 2 -2 3 -1 -2 3 -1 3 -2 -2 0 3 -1 1 1 -2 -1 -1 -3 3 1 0 2 0 1 -2
0 3 -1 2 -1 3 2 1 0 3 -1 2 1 -2 -2 -3 0 3 -3 2 -3 0 -2 0 1 3 -2 0 -3 0 -2 -1 0 -1 0 1 0 -2 -3 0 0 2 1 0 2 0 3 1 -3 1
1 -1 2 -3 2 -3 0 0 3 -3 0 -3 -2 0 -2 0 -1 0 -2 0 0 0 3 0 0 3 1 2 1 0 0 1 1 2 -3 1 0 3 0 3 3 0 3 0 2 -2 2 3 3 2
0 -1 0 0 3 1 2 0 0 2 -3 -2 1 0 -2 2 0 2 -3 -2 -3 0 3 0 2 0 -2 1 0 -3 3 3 -3 -3 2 -2 -3 -1 0 -3 0 1 0 0 2 2 1 0 1 -2
3 3 3 1 -2 3 -2 2 2 -2 2 -3 -2 3 1 2 0 0 -2 3 -1 0 1 2 0 -1 2 0 -1 0 0 0 2 -2 3 0 2 3 0 3 -3 0 0 0 1 3 0 -1 3 -1
-2 -3 2 -1 -1 -2 0 0 0 0 1 3 -3 1 0 -1 0 -3 2 -2 0 1 -1 0 0 1 0 3 0 0 3 -1 -3 1 3 3 0 -1 0 3 -1 -1 -3 -3 3 -3 0 0 0 1
0 -1 0 0 2 -1 -3 -2 0 2 3 2 0 -1 0 -3 3 -1 0 2 -1 -1 -2 2 0 0 0 -1 1 0 -3 0 1 3 1 3 0 0 -3 0 2 3 0 1 3 3 -2 -3 -1 -1
3 -1 0 1 -3 -1 0 0 -2 -2 -2 2 1 -3 0 -3 3 2 2 2 1 0 0 -3 3 1 3 3 -3 -2 0 0 3 1 -1 0 0 3 -3 -2 -2 2 0 1 0 0 0 -2 3 0
3 3 2 -2 3 1 -2 0 0 -3 0 -1 -1 -2 2 3 -1 2 0 1 1 2 2 -2 1 0 0 -1 -2 0 3 3 3 0 0 3 2 1 -3 3 0 0 0 0 3 -1 -2 3 -1 0
2 -2 -3 -1 0 2 -2 0 1 -1 0 -2 3 3 2 -3 2 -2 2 1 3 3 -1 -3 0 -2 -2 -3 -3 2 0 1 -2 -3 2 -3 0 0 0 0 2 0 -1 -2 3 0 1 1 3 2
0 3 0 -1 -2 0 -3 0 0 0 2 3 0 3 0 2 0 -1 -1 -2 0 2 0 -1 2 1 -1 3 0 -3 -1 2 3 0 1 -3 -1 0 0 -2 1 -3 0 1 -2 1 1 0 -3 1
0 0 3 -1 0 -1 3 1 2 0 -1 0 -3 0 -2 0 1 0 -1 2 2 0 3 0 1 -2 0 -3 2 2 0 3 3 -1 -2 -3 -2 -3 0 2 2 -1 3 -2 0 0 -1 -1 0 0
2 0 -2 -2 0 0 0 2 -1 2 3 1 -3 2 1 -1 0 -1 2 0 -2 -2 -2 0 -1 2 3 0 3 0 1 0 2 -3 0 1 -3 2 1 -3 2 -1 2 -3 0 1 -1 0 2 -1
3 -3 -3 -3 2 0 3 0 2 2 0 -1 0 -3 0 3 -1 0 3 0 0 -2 0 3 -1 -2 -1 -2 -3 0 -3 0 0 0 0 0 -2 0 2 -2 3 0 1 0 3 2 0 0 -1 0
-1 1 0 1 0 2 3 -3 0 -3 2 -3 -3 2 -1 -1 0 3 1 0 3 -2 -2 2 -3 3 0 3 2 -2 -1 -1 -1 2 1 0 1 0 3 -3 0 -1 1 3 3 -1 0 1 3 0
3 -1 -3 0 2 1 3 0 -3 0 3 0 0 2 -3 0 -3 1 3 0 3 0 0 1 3 -3 1 3 2 3 -3 2 -1 -2 2 -2 0 1 -2 1 -1 0 0 1 0 -2 -3 0 -1 -3
-2 1 3 2 3 1 -3 1 0 -3 3 1 0 -1 -3 -1 0 3 -3 0 3 0 1 2 -2 -3 -3 2 -1 3 1 1 -1 0 -2 -3 -1 -2 -3 1 0 0 3 0 -2 0 3 1 0 1
2 -2 -3 -1 1 0 2 -2 -3 0 -2 0 2 -2 -2 0 -2 -3 -1 2 0 0 3 3 2 -2 1 1 2 0 -3 -1 0 1 3 1 -3 1 0 3 1 0 1 1 3 0 2 2 0 2
0 0 0 2 3 -3 0 -2 -1 1 0 1 -1 2 -3 -3 0 0 0 2 3 -3 0 0 2 -3 1 0 1 -1 0 0 -2 2 1 3 1 -1 -3 3 0 0 0 -2 -1 0 -1 -3 1 -1
2 1 1 3 3 0 1 -1 -2 3 2 -3 -3 -1 1 -1 0 -2 3 2 1 3 3 2 2 0 -1 1 0 0 0 -1 0 -2 0 1 0 3 -3 -1 1 -3 0 1 2 3 2 -2 1 -2
-1 -3 1 -2 0 -3 2 -3 -2 -1 -1 0 0 1 -1 3 2 2 1 3 2 0 1 2 -2 -2 -2 1 -1 0 3 3 2 -3 -1 2 3 -1 2 -2 3 3 3 -2 0 2 -1 3 2 2
-2 1 1 -1 -1 0 0 -1 1 1 0 1 3 0 0 1 1 1 0 -2 -3 -3 -2 -2 -3 -3 2 3 2 1 2 -1 1 -3 -2 2 0 2 -2 0 1 -1 1 -2 -3 0 -2 -3 1 1
0 -1 2 1 2 0 -1 1 0 -2 -2 -1 3 -2 2 0 -1 1 0 1 1 0 -3 -3 -1 3 3 -1 1 0 2 0 -3 0 -1 0 1 3 3 -3 -1 0 1 3 1 -3 0 -2 -2 -3
3 2 0 -1 2 2 0 1 -3 2 1 1 0 3 3 -3 0 2 2 -3 1 -3 3 0 -1 -1 0 0 -3 1 0 -1 3 0 2 -3 -2 0 -2 1 1 -1 0 -3 -1 1 2 0 2 1
0 0 3 2 1 -2 3 0 3 -1 2 -3 0 2 0 1 1 2 2 0 -2 0 2 2 -3 -3 3 -3 0 0 0 2 -3 2 0 0 -1 -3 2 -2 2 -3 -2 -3 1 -3 3 -3 2 0
0 2 -3 -1 3 0 -2 2 -3 3 3 0 1 1 -3 0 0 -3 1 -1 -1 -3 3 1 3 0 -1 0 3 -1 3 0 -3 0 3 3 -2 0 -3 2 0 -2 3 -2 3 3 -1 -2 3 -2
-3 -3 1 0 -1 -3 1 3 3 0 -1 3 2 -2 1 -2 -3 3 0 -2 0 -3 0 0 1 2 2 0 -3 -3 0 0 2 -1 3 3 -1 3 -3 0 -2 2 2 3 -1 1 1 0 -3 -2
-2 -3 0 0 1 0 -3 -2 -2 -3 -2 1 3 2 -2 3 0 0 -2 2 -1 2 1 0 -2 3 -2 -2 -1 -1 1 1 0 1 0 1 0 -3 -2 1 0 1 3 2 3 -3 2 0 0 1
1 -2 -3 -1 2 -3 -1 0 1 3 -3 -3 0 -1 0 0 2 2 -1 3 0 2 3 1 1 1 -2 -1 1 -2 1 -1 -1 -1 2 -3 -2 1 -2 1 0 0 2 -3 0 -1 2 -2 -2 -1

Some files were not shown because too many files have changed in this diff Show More