From 5ee45c6d63c63c6ef9880c71c2070611e5dc8d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 13 Mar 2018 12:51:08 +0100 Subject: [PATCH 01/10] test-calendarspec: add the test case from oss-fuzz 6886 Before the fix 55a30fd4e8 in this would crash in calendarspec_from_time_t(). --- src/test/test-calendarspec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/test-calendarspec.c b/src/test/test-calendarspec.c index 1a95b60740..cce305ed2b 100644 --- a/src/test/test-calendarspec.c +++ b/src/test/test-calendarspec.c @@ -259,6 +259,7 @@ int main(int argc, char* argv[]) { assert_se(calendar_spec_from_string("00:00/60", &c) < 0); assert_se(calendar_spec_from_string("00:00:2300", &c) < 0); assert_se(calendar_spec_from_string("00:00:18446744073709551615", &c) < 0); + assert_se(calendar_spec_from_string("@88588582097858858", &c) == -ERANGE); test_timestamp(); test_hourly_bug_4031(); From 74353158121f9b4b39a5e6990d103022bb51422f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 15 Mar 2018 10:12:48 +0100 Subject: [PATCH 02/10] basic/calendarspec: set a limit on length of calendarspec component chains We probably should allow very deep calls of our recursive functions. Let's add a limit to avoid resource exhaustion. 240 is 10 per hour (if somebody is using this for time based triggers...), so it should be more than enough for most use cases, and is conveniently below the 250 stack limit in msan. oss-fuzz #6917. --- src/basic/calendarspec.c | 17 ++++++++++++----- .../fuzz-unit-file/oss-fuzz-6917 | 4 ++++ test/fuzz-regressions/meson.build | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6917 diff --git a/src/basic/calendarspec.c b/src/basic/calendarspec.c index 3918428a57..648ac29af3 100644 --- a/src/basic/calendarspec.c +++ b/src/basic/calendarspec.c @@ -43,6 +43,12 @@ #define MIN_YEAR 1970 #define MAX_YEAR 2199 +/* An arbitrary limit on the length of the chains of components. We don't want to + * build a very long linked list, which would be slow to iterate over and might cause + * our stack to overflow. It's unlikely that legitimate uses require more than a few + * linked compenents anyway. */ +#define CALENDARSPEC_COMPONENTS_MAX 240 + static void free_chain(CalendarComponent *c) { CalendarComponent *n; @@ -618,15 +624,16 @@ static int calendarspec_from_time_t(CalendarSpec *c, time_t time) { return 0; } -static int prepend_component(const char **p, bool usec, CalendarComponent **c) { +static int prepend_component(const char **p, bool usec, unsigned nesting, CalendarComponent **c) { int r, start, stop = -1, repeat = 0; CalendarComponent *cc; - const char *e; + const char *e = *p; assert(p); assert(c); - e = *p; + if (nesting > CALENDARSPEC_COMPONENTS_MAX) + return -ENOBUFS; r = parse_component_decimal(&e, usec, &start); if (r < 0) @@ -668,7 +675,7 @@ static int prepend_component(const char **p, bool usec, CalendarComponent **c) { if (*e ==',') { *p += 1; - return prepend_component(p, usec, c); + return prepend_component(p, usec, nesting + 1, c); } return 0; @@ -697,7 +704,7 @@ static int parse_chain(const char **p, bool usec, CalendarComponent **c) { return 0; } - r = prepend_component(&t, usec, &cc); + r = prepend_component(&t, usec, 0, &cc); if (r < 0) { free_chain(cc); return r; diff --git a/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6917 b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6917 new file mode 100644 index 0000000000..9a79cf00b7 --- /dev/null +++ b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6917 @@ -0,0 +1,4 @@ +timer + [Timer] + = +OnCalendar=*-02 9,04,40,04,4,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,0,04,4,40,300,0,04,4,40,04,4..0,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,65535,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,1..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,0440,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,0,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,5,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,0404,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,00,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04,4..0,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,04,4..0,04,04,0,4..0,0,04,4,40,30,04,4..0,0,04,4,40,04 \ No newline at end of file diff --git a/test/fuzz-regressions/meson.build b/test/fuzz-regressions/meson.build index ee00bcd046..b1dfc39675 100644 --- a/test/fuzz-regressions/meson.build +++ b/test/fuzz-regressions/meson.build @@ -32,4 +32,5 @@ fuzz_regression_tests = ''' fuzz-unit-file/oss-fuzz-6884 fuzz-unit-file/oss-fuzz-6885 fuzz-unit-file/oss-fuzz-6886 + fuzz-unit-file/oss-fuzz-6917 '''.split() From 4b8d0cdf040254770cc8e78c786de09592bb83bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 15 Mar 2018 11:21:00 +0100 Subject: [PATCH 03/10] Add .gitattributes for test/fuzz-regressions Those reproducers are essentially binary, hence let's ignore whitespace in them. --- test/fuzz-regressions/.gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/fuzz-regressions/.gitattributes diff --git a/test/fuzz-regressions/.gitattributes b/test/fuzz-regressions/.gitattributes new file mode 100644 index 0000000000..7b1b3e1835 --- /dev/null +++ b/test/fuzz-regressions/.gitattributes @@ -0,0 +1 @@ +/*/* -whitespace From 064c5938992966d5bfa172efdf3e528e90b3dae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 15 Mar 2018 11:42:00 +0100 Subject: [PATCH 04/10] core/service: fix memleak of USBFunctionStrings and USBFunctionDescriptors oss-fuzz #6892. --- src/core/service.c | 3 +++ test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6892 | 3 +++ test/fuzz-regressions/meson.build | 1 + 3 files changed, 7 insertions(+) create mode 100644 test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6892 diff --git a/src/core/service.c b/src/core/service.c index df36019f62..23a5bcd1c4 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -396,6 +396,9 @@ static void service_done(Unit *u) { s->bus_name_owner = mfree(s->bus_name_owner); + s->usb_function_descriptors = mfree(s->usb_function_descriptors); + s->usb_function_strings = mfree(s->usb_function_strings); + service_close_socket_fd(s); s->peer = socket_peer_unref(s->peer); diff --git a/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6892 b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6892 new file mode 100644 index 0000000000..31f746d034 --- /dev/null +++ b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6892 @@ -0,0 +1,3 @@ +service +[Service] +USBFunctionStrings=/ \ No newline at end of file diff --git a/test/fuzz-regressions/meson.build b/test/fuzz-regressions/meson.build index b1dfc39675..f9c8e8cd98 100644 --- a/test/fuzz-regressions/meson.build +++ b/test/fuzz-regressions/meson.build @@ -33,4 +33,5 @@ fuzz_regression_tests = ''' fuzz-unit-file/oss-fuzz-6885 fuzz-unit-file/oss-fuzz-6886 fuzz-unit-file/oss-fuzz-6917 + fuzz-unit-file/oss-fuzz-6892 '''.split() From 10062bbc35a28e95897f66fa5f4991b9b1f9df5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 16 Mar 2018 11:15:58 +0100 Subject: [PATCH 05/10] unit-file: do not allow bogus IOSchedulingClass values We have only three bits of space, i.e. 8 possible classes. Immediately reject anything outside of that range. Add the fuzzer test case and an additional unit test. oss-fuzz #6908. --- src/basic/ioprio.h | 9 +++--- src/basic/process-util.c | 2 +- src/test/test-process-util.c | 28 ++++++++++++++++++- .../fuzz-unit-file/oss-fuzz-6908 | 3 ++ test/fuzz-regressions/meson.build | 1 + 5 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6908 diff --git a/src/basic/ioprio.h b/src/basic/ioprio.h index d8bb6eb497..8fe74f03f8 100644 --- a/src/basic/ioprio.h +++ b/src/basic/ioprio.h @@ -10,12 +10,13 @@ /* * Gives us 8 prio classes with 13-bits of data for each class */ -#define IOPRIO_BITS (16) -#define IOPRIO_CLASS_SHIFT (13) -#define IOPRIO_PRIO_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1) +#define IOPRIO_BITS 16 +#define IOPRIO_N_CLASSES 8 +#define IOPRIO_CLASS_SHIFT 13 +#define IOPRIO_PRIO_DATA_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1) #define IOPRIO_PRIO_CLASS(mask) ((mask) >> IOPRIO_CLASS_SHIFT) -#define IOPRIO_PRIO_DATA(mask) ((mask) & IOPRIO_PRIO_MASK) +#define IOPRIO_PRIO_DATA(mask) ((mask) & IOPRIO_PRIO_DATA_MASK) #define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data) #define ioprio_valid(mask) (IOPRIO_PRIO_CLASS((mask)) != IOPRIO_CLASS_NONE) diff --git a/src/basic/process-util.c b/src/basic/process-util.c index aa9846db5d..b407db0ee8 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -1466,7 +1466,7 @@ static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_IDLE] = "idle" }; -DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(ioprio_class, int, INT_MAX); +DEFINE_STRING_TABLE_LOOKUP_WITH_FALLBACK(ioprio_class, int, IOPRIO_N_CLASSES); static const char *const sigchld_code_table[] = { [CLD_EXITED] = "exited", diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c index 1a0164e601..f540eeb3b0 100644 --- a/src/test/test-process-util.c +++ b/src/test/test-process-util.c @@ -541,8 +541,33 @@ static void test_pid_to_ptr(void) { #endif } -int main(int argc, char *argv[]) { +static void test_ioprio_class_from_to_string_one(const char *val, int expected) { + assert_se(ioprio_class_from_string(val) == expected); + if (expected >= 0) { + _cleanup_free_ char *s = NULL; + unsigned ret; + assert_se(ioprio_class_to_string_alloc(expected, &s) == 0); + /* We sometimes get a class number and sometimes a number back */ + assert_se(streq(s, val) || + safe_atou(val, &ret) == 0); + } +} + +static void test_ioprio_class_from_to_string(void) { + test_ioprio_class_from_to_string_one("none", IOPRIO_CLASS_NONE); + test_ioprio_class_from_to_string_one("realtime", IOPRIO_CLASS_RT); + test_ioprio_class_from_to_string_one("best-effort", IOPRIO_CLASS_BE); + test_ioprio_class_from_to_string_one("idle", IOPRIO_CLASS_IDLE); + test_ioprio_class_from_to_string_one("0", 0); + test_ioprio_class_from_to_string_one("1", 1); + test_ioprio_class_from_to_string_one("7", 7); + test_ioprio_class_from_to_string_one("8", 8); + test_ioprio_class_from_to_string_one("9", -1); + test_ioprio_class_from_to_string_one("-1", -1); +} + +int main(int argc, char *argv[]) { log_set_max_level(LOG_DEBUG); log_parse_environment(); log_open(); @@ -569,6 +594,7 @@ int main(int argc, char *argv[]) { test_getpid_measure(); test_safe_fork(); test_pid_to_ptr(); + test_ioprio_class_from_to_string(); return 0; } diff --git a/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6908 b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6908 new file mode 100644 index 0000000000..8f2404b136 --- /dev/null +++ b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6908 @@ -0,0 +1,3 @@ +socket +[Socket] +IOSchedulingClass=531473 \ No newline at end of file diff --git a/test/fuzz-regressions/meson.build b/test/fuzz-regressions/meson.build index f9c8e8cd98..c1ea229a24 100644 --- a/test/fuzz-regressions/meson.build +++ b/test/fuzz-regressions/meson.build @@ -34,4 +34,5 @@ fuzz_regression_tests = ''' fuzz-unit-file/oss-fuzz-6886 fuzz-unit-file/oss-fuzz-6917 fuzz-unit-file/oss-fuzz-6892 + fuzz-unit-file/oss-fuzz-6908 '''.split() From 1c56d501098f5559c7b97b693dd9be0a01bdfdc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 16 Mar 2018 12:02:54 +0100 Subject: [PATCH 06/10] fuzz: add test case for oss-fuzz #6897 and a work-around The orignal reproducer from oss-fuzz depends on the hostname (via %H and %c). The hostname needs a dash for msan to report this, so a simpler case from @evverx with the dash hardcoded is also added. The issue is a false positive from msan, which does not instruct stpncpy (https://github.com/google/sanitizers/issues/926). Let's add a work-around until this is fixed. --- src/basic/cgroup-util.c | 8 ++++++++ test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897 | 4 ++++ test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897-evverx | 4 ++++ test/fuzz-regressions/meson.build | 2 ++ 4 files changed, 18 insertions(+) create mode 100644 test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897 create mode 100644 test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897-evverx diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index c0962f288f..68ff8ff5a9 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -1977,6 +1977,14 @@ int cg_slice_to_path(const char *unit, char **ret) { _cleanup_free_ char *escaped = NULL; char n[dash - p + sizeof(".slice")]; +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + /* msan doesn't instrument stpncpy, so it thinks + * n is later used unitialized: + * https://github.com/google/sanitizers/issues/926 + */ + zero(n); +#endif + /* Don't allow trailing or double dashes */ if (IN_SET(dash[1], 0, '-')) return -EINVAL; diff --git a/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897 b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897 new file mode 100644 index 0000000000..742fd9bfeb --- /dev/null +++ b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897 @@ -0,0 +1,4 @@ +service +[Service] +Slice=%H.slice +TemporaryFileSystem=%c \ No newline at end of file diff --git a/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897-evverx b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897-evverx new file mode 100644 index 0000000000..126678e76c --- /dev/null +++ b/test/fuzz-regressions/fuzz-unit-file/oss-fuzz-6897-evverx @@ -0,0 +1,4 @@ +service +[Service] +Slice=abc-def.slice +TemporaryFileSystem=%c diff --git a/test/fuzz-regressions/meson.build b/test/fuzz-regressions/meson.build index c1ea229a24..d36a3574e6 100644 --- a/test/fuzz-regressions/meson.build +++ b/test/fuzz-regressions/meson.build @@ -35,4 +35,6 @@ fuzz_regression_tests = ''' fuzz-unit-file/oss-fuzz-6917 fuzz-unit-file/oss-fuzz-6892 fuzz-unit-file/oss-fuzz-6908 + fuzz-unit-file/oss-fuzz-6897 + fuzz-unit-file/oss-fuzz-6897-evverx '''.split() From c028bed19b3bd1a45cad0f5a120a05fc5a47169a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 17 Mar 2018 14:32:40 +0100 Subject: [PATCH 07/10] basic/cgroup-util: fix typo in debug message --- src/basic/cgroup-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 68ff8ff5a9..1a2d7fc087 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -2483,7 +2483,7 @@ static int cg_unified_update(void) { return 0; if (statfs("/sys/fs/cgroup/", &fs) < 0) - return log_debug_errno(errno, "statfs(\"/sys/fs/cgroup/\" failed: %m"); + return log_debug_errno(errno, "statfs(\"/sys/fs/cgroup/\") failed: %m"); if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) { log_debug("Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy"); From 5685efde88f3d228cc25b17c6a7b29155e8a1ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 18 Mar 2018 13:01:13 +0100 Subject: [PATCH 08/10] test-socket-util: add test for ListenNetlink with spaces --- src/test/test-socket-util.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c index 76896b0328..f0e11d2423 100644 --- a/src/test/test-socket-util.c +++ b/src/test/test-socket-util.c @@ -119,6 +119,16 @@ static void test_socket_address_parse_netlink(void) { assert_se(a.sockaddr.sa.sa_family == AF_NETLINK); assert_se(a.protocol == NETLINK_ROUTE); + /* With spaces and tabs */ + assert_se(socket_address_parse_netlink(&a, " kobject-uevent ") >= 0); + assert_se(socket_address_parse_netlink(&a, " \t kobject-uevent \t 10 \t") >= 0); + assert_se(a.sockaddr.sa.sa_family == AF_NETLINK); + assert_se(a.protocol == NETLINK_KOBJECT_UEVENT); + + assert_se(socket_address_parse_netlink(&a, "kobject-uevent\t10") >= 0); + assert_se(a.sockaddr.sa.sa_family == AF_NETLINK); + assert_se(a.protocol == NETLINK_KOBJECT_UEVENT); + /* oss-fuzz #6884 */ assert_se(socket_address_parse_netlink(&a, "\xff") < 0); } From bd0763b642055647be789b30c393c5e93b046336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 18 Mar 2018 13:39:38 +0100 Subject: [PATCH 09/10] fuzz-unit-file: simply do not test ListenNetlink= at all msan doesn't understand sscanf with %ms, so it falsely reports unitialized memory. Using sscanf with %ms is quite convenient in socket_address_parse_netlink(), so let's just not run the fuzzer for ListenNetlink= at all for now. If msan is fixed, we can remove this. https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6884 --- src/fuzz/fuzz-unit-file.c | 18 ++++++++++++++++++ test/fuzz-corpus/unit-file/directives.service | 2 +- test/fuzz-corpus/unit-file/syslog.socket | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/fuzz/fuzz-unit-file.c b/src/fuzz/fuzz-unit-file.c index 45f1a72db2..44c68db64d 100644 --- a/src/fuzz/fuzz-unit-file.c +++ b/src/fuzz/fuzz-unit-file.c @@ -18,6 +18,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { _cleanup_(manager_freep) Manager *m = NULL; Unit *u; const char *name; + long offset; if (size == 0) return 0; @@ -35,6 +36,23 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (!unit_vtable[t]->load) return 0; + offset = ftell(f); + assert_se(offset >= 0); + + for (;;) { + _cleanup_free_ char *l = NULL; + + if (read_line(f, LINE_MAX, &l) <= 0) + break; + + if (startswith(l, "ListenNetlink=")) + /* ListenNetlink causes a false positive in msan, + * let's skip this for now. */ + return 0; + } + + assert_se(fseek(f, offset, SEEK_SET) == 0); + /* We don't want to fill the logs with messages about parse errors. * Disable most logging if not running standalone */ if (!getenv("SYSTEMD_LOG_LEVEL")) diff --git a/test/fuzz-corpus/unit-file/directives.service b/test/fuzz-corpus/unit-file/directives.service index f01c0ed172..0077ae739b 100644 --- a/test/fuzz-corpus/unit-file/directives.service +++ b/test/fuzz-corpus/unit-file/directives.service @@ -124,7 +124,7 @@ LazyUnmount= ListenDatagram= ListenFIFO= ListenMessageQueue= -ListenNetlink= +#ListenNetlink= ListenSequentialPacket= ListenSpecial= ListenStream= diff --git a/test/fuzz-corpus/unit-file/syslog.socket b/test/fuzz-corpus/unit-file/syslog.socket index 3d28a261f5..2eb316fcaa 100644 --- a/test/fuzz-corpus/unit-file/syslog.socket +++ b/test/fuzz-corpus/unit-file/syslog.socket @@ -53,7 +53,7 @@ ListenDatagram=1.2.3.4:1234 ListenSequentialPacket=1.2.3.4:1234 ListenFIFO= ListenSpecial= -ListenNetlink= +#ListenNetlink= ListenMessageQueue= ListenUSBFunction= SocketProtocol=udplite From ca8700e922e280beeb3c5f37a967c21739da0f25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 18 Mar 2018 12:51:31 +0100 Subject: [PATCH 10/10] core/unit: delay creating a stack variable until after length has been checked path_is_normalized() will reject paths longer than 4095 bytes, so it's better to not create a stack variable of unbounded size, but instead do the check first and only then do that allocation. Also use _cleanup_ to make things a bit shorter. https://oss-fuzz.com/v2/issue/5424177403133952/7000 --- src/core/unit.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/src/core/unit.c b/src/core/unit.c index 815701ad4e..68def7cae4 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -4561,7 +4561,8 @@ int unit_kill_context( } int unit_require_mounts_for(Unit *u, const char *path, UnitDependencyMask mask) { - char prefix[strlen(path) + 1], *p; + _cleanup_free_ char *p = NULL; + char *prefix; UnitDependencyInfo di; int r; @@ -4584,34 +4585,30 @@ int unit_require_mounts_for(Unit *u, const char *path, UnitDependencyMask mask) if (!p) return -ENOMEM; - path_kill_slashes(p); + path = path_kill_slashes(p); - if (!path_is_normalized(p)) { - free(p); + if (!path_is_normalized(path)) return -EPERM; - } - if (hashmap_contains(u->requires_mounts_for, p)) { - free(p); + if (hashmap_contains(u->requires_mounts_for, path)) return 0; - } di = (UnitDependencyInfo) { .origin_mask = mask }; - r = hashmap_put(u->requires_mounts_for, p, di.data); - if (r < 0) { - free(p); + r = hashmap_put(u->requires_mounts_for, path, di.data); + if (r < 0) return r; - } + p = NULL; - PATH_FOREACH_PREFIX_MORE(prefix, p) { + prefix = alloca(strlen(path) + 1); + PATH_FOREACH_PREFIX_MORE(prefix, path) { Set *x; x = hashmap_get(u->manager->units_requiring_mounts_for, prefix); if (!x) { - char *q; + _cleanup_free_ char *q = NULL; r = hashmap_ensure_allocated(&u->manager->units_requiring_mounts_for, &path_hash_ops); if (r < 0) @@ -4622,17 +4619,15 @@ int unit_require_mounts_for(Unit *u, const char *path, UnitDependencyMask mask) return -ENOMEM; x = set_new(NULL); - if (!x) { - free(q); + if (!x) return -ENOMEM; - } r = hashmap_put(u->manager->units_requiring_mounts_for, q, x); if (r < 0) { - free(q); set_free(x); return r; } + q = NULL; } r = set_put(x, u);