From 902ae53c57561262f8bd52dfa51685f068469bda Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Sun, 18 Sep 2022 22:08:04 -0700 Subject: [PATCH 01/12] fix duplicate html ids --- srv_ui_elements/filter_UI.R | 2 +- srv_ui_elements/upload_UI_mainpanel.R | 2 +- srv_ui_elements/visualize_UI_misc.R | 2 +- tab_factories/upload_tab.R | 2 +- ui.R | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/srv_ui_elements/filter_UI.R b/srv_ui_elements/filter_UI.R index ce1b153..84d44cf 100644 --- a/srv_ui_elements/filter_UI.R +++ b/srv_ui_elements/filter_UI.R @@ -178,7 +178,7 @@ list( # # filter warnings - output$warnings_filter <- renderUI({ + output$warnings_filter_UI <- renderUI({ HTML(lapply(revals$warningmessage_filter, function(el){paste0("

")}) %>% paste(collapse = "")) }) diff --git a/srv_ui_elements/upload_UI_mainpanel.R b/srv_ui_elements/upload_UI_mainpanel.R index 75abba1..4c01729 100644 --- a/srv_ui_elements/upload_UI_mainpanel.R +++ b/srv_ui_elements/upload_UI_mainpanel.R @@ -42,7 +42,7 @@ list( }), # End edata_text # display list of warnings pasted on separate lines - output$warnings_upload <- renderUI({ + output$warnings_upload_UI <- renderUI({ HTML(lapply(revals$warningmessage_upload, function(el){ paste0("

") }) %>% diff --git a/srv_ui_elements/visualize_UI_misc.R b/srv_ui_elements/visualize_UI_misc.R index d04eedc..e0a5e85 100644 --- a/srv_ui_elements/visualize_UI_misc.R +++ b/srv_ui_elements/visualize_UI_misc.R @@ -1,6 +1,6 @@ list( # warning messages for viztab - output$warnings_visualize <- renderUI({ + output$warnings_visualize_UI <- renderUI({ HTML(paste(revals$warningmessage_visualize, collapse = "")) }), diff --git a/tab_factories/upload_tab.R b/tab_factories/upload_tab.R index cc5a783..0402733 100644 --- a/tab_factories/upload_tab.R +++ b/tab_factories/upload_tab.R @@ -143,7 +143,7 @@ upload_tab <- function(from_corems = FALSE) { column(width = 8, # warnings panel - div(id = "warnings_upload", style = "overflow-y:auto;max-height:250px", uiOutput("warnings_upload")), + div(id = "warnings_upload", style = "overflow-y:auto;max-height:250px", uiOutput("warnings_upload_UI")), tags$hr(), diff --git a/ui.R b/ui.R index 57c1112..47aa6e1 100644 --- a/ui.R +++ b/ui.R @@ -247,7 +247,7 @@ ui <- tagList(useShinyjs(), navbarPage( br(), br(), - div(id = "warnings_filter", style = "overflow-y:auto;max-height:150px", uiOutput("warnings_filter")) + div(id = "warnings_filter", style = "overflow-y:auto;max-height:150px", uiOutput("warnings_filter_UI")) ), # End sidebar panel on Filter tab @@ -280,7 +280,7 @@ ui <- tagList(useShinyjs(), navbarPage( fluidRow( # Sidebar Panel - div(id='viz_sidebar', column(4, + div(id='viz_sidebar_column', column(4, # Begin collapsible section bsCollapse(id='viz_sidebar', open = c('peakplots', 'axlabs'), multiple=TRUE, @@ -383,7 +383,7 @@ ui <- tagList(useShinyjs(), navbarPage( br(), br(), - div(id = "warnings_visualize", style = "overflow-y:auto;max-height:150px", uiOutput("warnings_visualize")) + div(id = "warnings_visualize", style = "overflow-y:auto;max-height:150px", uiOutput("warnings_visualize_UI")) ), )# End main panel on Visualize tab # )# end fluidrow @@ -415,7 +415,7 @@ ui <- tagList(useShinyjs(), navbarPage( tabPanel(div('Database Mapping', icon('th-list', lib = 'glyphicon')), value = 'Database Mapping', fluidRow(style = "display:flex;flex-direction:row;align-items:stretch", column(4, - bsCollapse(id='viz_sidebar', open = c('mappings'), multiple=TRUE, + bsCollapse(id='db_mapping_sidebar', open = c('mappings'), multiple=TRUE, bsCollapsePanel('Choose which mappings to calculate', value = 'mappings', radioGroupButtons('database_select', label = "Choose a Database", choices = c('Kegg', 'MetaCyc')), numericInput('max_records_database', 'Exclude formulae that map to more than this many records:', value = 5), From 9ce624fc473dfd140e5359afe90fadcacae2897a Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Thu, 6 Oct 2022 15:22:51 -0700 Subject: [PATCH 02/12] upload and basic workflow tests --- FREDA.Rproj | 4 ++++ Observers/groups_observers.R | 3 ++- Observers/preprocess_observers.R | 12 ++++-------- Observers/upload_observers.R | 2 ++ srv_ui_elements/groups_UI.R | 2 +- ui.R | 2 +- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/FREDA.Rproj b/FREDA.Rproj index 8e3c2eb..21a4da0 100644 --- a/FREDA.Rproj +++ b/FREDA.Rproj @@ -11,3 +11,7 @@ Encoding: UTF-8 RnwWeave: Sweave LaTeX: pdfLaTeX + +BuildType: Package +PackageUseDevtools: Yes +PackageInstallArgs: --no-multiarch --with-keep.source diff --git a/Observers/groups_observers.R b/Observers/groups_observers.R index ca3a3b9..8e7edcf 100644 --- a/Observers/groups_observers.R +++ b/Observers/groups_observers.R @@ -8,7 +8,8 @@ observeEvent(input$add_group, { updateTextInput(session, "group_name", value = "") updatePickerInput(session, "group_samples", selected = setdiff(sample_names(), c(unlist(revals$groups_list), input$group_samples))) - + + exportTestValues(groups_list = revals$groups_list) }) # shinyjs observer which disables input if selection is not valid diff --git a/Observers/preprocess_observers.R b/Observers/preprocess_observers.R index 79d9e22..d407f9d 100644 --- a/Observers/preprocess_observers.R +++ b/Observers/preprocess_observers.R @@ -93,16 +93,12 @@ observeEvent(input$preprocess_click, { revals$warningmessage_preprocess$makeobject_error <<- sprintf("

%s

", msg) }) - if(!exists('msg')) revals$uploaded_data <- temp + if(!exists('msg')) { + revals$uploaded_data <- temp + exportTestValues(uploaded_data_processed = revals$uploaded_data) + } }) - # post mortem test object - # test_uploaded_data <<- revals$peakData2 - - if (isTRUE(getOption("shiny.testmode"))) { - exportTestValues(peakData2 = revals$peakData2) - } - }, priority = 10) # End action button event # Creates two reactive variables for continuous and categorical variables which are used to display separate tables diff --git a/Observers/upload_observers.R b/Observers/upload_observers.R index 766b5ed..fe2fcc7 100644 --- a/Observers/upload_observers.R +++ b/Observers/upload_observers.R @@ -158,6 +158,8 @@ observeEvent(input$upload_click, { shinyjs::show('ok_idcols') revals$uploaded_data <- res + + exportTestValues(uploaded_data = res) } }) # End peakData creation diff --git a/srv_ui_elements/groups_UI.R b/srv_ui_elements/groups_UI.R index b62ba8b..f1df918 100644 --- a/srv_ui_elements/groups_UI.R +++ b/srv_ui_elements/groups_UI.R @@ -1,6 +1,6 @@ list( # sample names selector based on the sample names of revals$uploaded_data - output$group_samples <- renderUI({ + output$group_samples_UI <- renderUI({ validate(need(sample_names(), message = "Upload data before defining groups")) req(!is.null(input$group_regex)) # filter sample names diff --git a/ui.R b/ui.R index 47aa6e1..67a9a09 100644 --- a/ui.R +++ b/ui.R @@ -32,7 +32,7 @@ ui <- tagList(useShinyjs(), navbarPage( tags$h4("Define a Group"), div(id = "js_group_name", textInput("group_name", "Name of this group:")), fluidRow( - column(6, uiOutput("group_samples")), + column(6, uiOutput("group_samples_UI")), column(6, textInput("group_regex", "Search sample names")) ), actionButton("add_group", "Add this group"), From e43a92d1bdbb7444f5ed6478e2f865399d0631d9 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 12:37:09 -0700 Subject: [PATCH 03/12] initial gha workflow --- .Rbuildignore | 5 + .github/.gitignore | 1 + .github/workflows/test-app.yaml | 52 + tests/testthat.R | 1 + .../_snaps/full_pipeline_basic/FREDA-001.json | 88 + .../_snaps/full_pipeline_basic/FREDA-002.json | 24810 ++++++++++++++++ tests/testthat/setup.R | 6 + .../testthat/tab_navigation/upload_example.R | 32 + tests/testthat/test_full_pipeline_basic.R | 184 + tests/testthat/test_upload.R | 35 + 10 files changed, 25214 insertions(+) create mode 100644 .Rbuildignore create mode 100644 .github/.gitignore create mode 100644 .github/workflows/test-app.yaml create mode 100644 tests/testthat.R create mode 100644 tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json create mode 100644 tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json create mode 100644 tests/testthat/setup.R create mode 100644 tests/testthat/tab_navigation/upload_example.R create mode 100644 tests/testthat/test_full_pipeline_basic.R create mode 100644 tests/testthat/test_upload.R diff --git a/.Rbuildignore b/.Rbuildignore new file mode 100644 index 0000000..12948cf --- /dev/null +++ b/.Rbuildignore @@ -0,0 +1,5 @@ +^renv$ +^renv\.lock$ +^.*\.Rproj$ +^\.Rproj\.user$ +^\.github$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/workflows/test-app.yaml b/.github/workflows/test-app.yaml new file mode 100644 index 0000000..f76e240 --- /dev/null +++ b/.github/workflows/test-app.yaml @@ -0,0 +1,52 @@ + + +# Workflow derived from https://github.com/rstudio/shinytest2/tree/main/actions/test-app/example-test-app-description.yaml +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +name: Test app w/ DESCRIPTION + +jobs: + test-app: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + strategy: + fail-fast: false + matrix: + config: + - {os: ubuntu-latest, r: release} + + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + GITLAB_PAT: ${{ secrets.GITLAB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + + steps: + - uses: actions/checkout@v2 + + - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + http-user-agent: ${{ matrix.config.http-user-agent }} + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: + shinytest2 + + - uses: r-lib/actions/setup-renv@v2 + with: + cache-version: 2 + + - uses: rstudio/shinytest2/actions/test-app@v1 + with: + path: "." \ No newline at end of file diff --git a/tests/testthat.R b/tests/testthat.R new file mode 100644 index 0000000..940e79c --- /dev/null +++ b/tests/testthat.R @@ -0,0 +1 @@ +shinytest2::test_app() \ No newline at end of file diff --git a/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json b/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json new file mode 100644 index 0000000..f0c5fae --- /dev/null +++ b/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json @@ -0,0 +1,88 @@ +{ + "output": { + "group_table": { + "x": { + "filter": "none", + "vertical": false, + "container": "\n \n \n
<\/th>\n Group Name<\/th>\n Group Samples<\/th>\n Filtered Samples<\/th>\n <\/tr>\n <\/thead>\n<\/table>", + "options": { + "scrollX": true, + "columnDefs": [ + { + "orderable": false, + "targets": 0 + } + ], + "order": [ + + ], + "autoWidth": false, + "orderClasses": false, + "ajax": { + "type": "POST", + "data": "function(d) {\nd.search.caseInsensitive = true;\nd.search.smart = true;\nd.escape = true;\nvar encodeAmp = function(x) { x.value = x.value.replace(/&/g, \"%26\"); }\nencodeAmp(d.search);\n$.each(d.columns, function(i, v) {encodeAmp(v.search);});\n}" + }, + "serverSide": true, + "processing": true + }, + "selection": { + "mode": "single", + "selected": null, + "target": "row", + "selectable": null + } + }, + "evals": [ + "options.ajax.data" + ], + "jsHooks": [ + + ], + "deps": [ + { + "name": "jquery", + "version": "3.6.0", + "src": { + "href": "jquery-3.6.0" + }, + "meta": null, + "script": "jquery-3.6.0.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "dt-core", + "version": "1.11.3", + "src": { + "href": "dt-core-1.11.3" + }, + "meta": null, + "script": "js/jquery.dataTables.min.js", + "stylesheet": [ + "css/jquery.dataTables.min.css", + "css/jquery.dataTables.extra.css" + ], + "head": null, + "attachment": null, + "package": null, + "all_files": false + }, + { + "name": "crosstalk", + "version": "1.1.1", + "src": { + "href": "crosstalk-1.1.1" + }, + "meta": null, + "script": "js/crosstalk.min.js", + "stylesheet": "css/crosstalk.css", + "head": null, + "attachment": null, + "all_files": true + } + ] + } + } +} diff --git a/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json b/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json new file mode 100644 index 0000000..2e474db --- /dev/null +++ b/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json @@ -0,0 +1,24810 @@ +{ + "output": { + "categorical_summary": { + "html": "
<\/div>\n
<\/div>\n
<\/div>\n
<\/div>", + "deps": [ + { + "name": "htmlwidgets", + "version": "1.5.4", + "src": { + "href": "htmlwidgets-1.5.4" + }, + "meta": null, + "script": "htmlwidgets.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "datatables-css", + "version": "0.0.0", + "src": { + "href": "datatables-css-0.0.0" + }, + "meta": null, + "script": null, + "stylesheet": "datatables-crosstalk.css", + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "datatables-binding", + "version": "0.25", + "src": { + "href": "datatables-binding-0.25" + }, + "meta": null, + "script": "datatables.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": false + }, + { + "name": "jquery", + "version": "3.5.1", + "src": { + "href": "jquery-3.5.1" + }, + "meta": null, + "script": "jquery.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "crosstalk", + "version": "1.1.1", + "src": { + "href": "crosstalk-1.1.1" + }, + "meta": null, + "script": "js/crosstalk.min.js", + "stylesheet": "css/crosstalk.css", + "head": null, + "attachment": null, + "all_files": true + } + ] + }, + "numeric_summary": { + "x": { + "filter": "none", + "vertical": false, + "container": "\n \n \n
<\/th>\n Min<\/th>\n Mean<\/th>\n Median<\/th>\n Max<\/th>\n <\/tr>\n <\/thead>\n<\/table>", + "options": { + "dom": "t", + "pageLength": 10, + "columnDefs": [ + { + "targets": 1, + "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" + }, + { + "targets": 2, + "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" + }, + { + "targets": 3, + "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" + }, + { + "targets": 4, + "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" + }, + { + "className": "dt-right", + "targets": [ + 1, + 2, + 3, + 4 + ] + }, + { + "orderable": false, + "targets": 0 + } + ], + "order": [ + + ], + "autoWidth": false, + "orderClasses": false, + "ajax": { + "type": "POST", + "data": "function(d) {\nd.search.caseInsensitive = true;\nd.search.smart = true;\nd.escape = true;\nvar encodeAmp = function(x) { x.value = x.value.replace(/&/g, \"%26\"); }\nencodeAmp(d.search);\n$.each(d.columns, function(i, v) {encodeAmp(v.search);});\n}" + }, + "serverSide": true, + "processing": true + }, + "selection": { + "mode": "multiple", + "selected": null, + "target": "row", + "selectable": null + } + }, + "evals": [ + "options.columnDefs.0.render", + "options.columnDefs.1.render", + "options.columnDefs.2.render", + "options.columnDefs.3.render", + "options.ajax.data" + ], + "jsHooks": [ + + ], + "deps": [ + { + "name": "jquery", + "version": "3.6.0", + "src": { + "href": "jquery-3.6.0" + }, + "meta": null, + "script": "jquery-3.6.0.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "dt-core", + "version": "1.11.3", + "src": { + "href": "dt-core-1.11.3" + }, + "meta": null, + "script": "js/jquery.dataTables.min.js", + "stylesheet": [ + "css/jquery.dataTables.min.css", + "css/jquery.dataTables.extra.css" + ], + "head": null, + "attachment": null, + "package": null, + "all_files": false + }, + { + "name": "crosstalk", + "version": "1.1.1", + "src": { + "href": "crosstalk-1.1.1" + }, + "meta": null, + "script": "js/crosstalk.min.js", + "stylesheet": "css/crosstalk.css", + "head": null, + "attachment": null, + "all_files": true + } + ] + }, + "preprocess_hist": { + "x": { + "layout": { + "margin": { + "b": 40, + "l": 60, + "t": 25, + "r": 10 + }, + "title": "Observed distribution of ", + "scene": { + "xaxis": { + "title": [ + + ] + }, + "yaxis": { + "title": "Frequency" + } + }, + "xaxis": { + "domain": [ + 0, + 1 + ], + "automargin": true, + "title": [ + + ] + }, + "yaxis": { + "domain": [ + 0, + 1 + ], + "automargin": true + }, + "hovermode": "closest", + "showlegend": false + }, + "source": "A", + "config": { + "showSendToCloud": false + }, + ".plotlyWebGl": true, + "data": [ + { + "x": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 9, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 9, + 0, + 10, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 9, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 8, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 9, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 8, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 10, + 11, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 5, + 7, + 0, + 8, + 10, + 0, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 9, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 10, + 7, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 9, + 0, + 10, + 0, + 7, + 11, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 10, + 11, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 5, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 7, + 9, + 0, + 0, + 10, + 11, + 0, + 12, + 0, + 13, + 0, + 0, + 0, + 0, + 8, + 11, + 0, + 0, + 7, + 6, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 10, + 0, + 0, + 11, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 12, + 9, + 8, + 10, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 11, + 0, + 0, + 10, + 0, + 8, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 10, + 0, + 0, + 0, + 9, + 7, + 11, + 0, + 8, + 12, + 9, + 9, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 9, + 0, + 0, + 0, + 10, + 11, + 0, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 10, + 0, + 0, + 9, + 11, + 12, + 0, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 9, + 0, + 10, + 0, + 0, + 0, + 13, + 0, + 0, + 0, + 0, + 9, + 0, + 6, + 0, + 0, + 0, + 10, + 9, + 7, + 11, + 0, + 12, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 8, + 10, + 9, + 0, + 11, + 11, + 12, + 0, + 11, + 13, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 11, + 11, + 12, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 12, + 9, + 0, + 0, + 9, + 0, + 0, + 13, + 10, + 0, + 9, + 9, + 0, + 11, + 11, + 0, + 0, + 12, + 11, + 11, + 11, + 0, + 13, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 12, + 9, + 11, + 11, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 8, + 0, + 11, + 12, + 0, + 11, + 0, + 9, + 0, + 0, + 10, + 9, + 11, + 10, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 11, + 11, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 8, + 0, + 0, + 12, + 0, + 0, + 9, + 0, + 8, + 8, + 13, + 10, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 11, + 11, + 8, + 0, + 12, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 11, + 11, + 8, + 12, + 12, + 11, + 9, + 13, + 13, + 12, + 10, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 11, + 11, + 8, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 11, + 0, + 11, + 0, + 0, + 10, + 10, + 8, + 12, + 12, + 0, + 13, + 0, + 0, + 0, + 0, + 0, + 10, + 10, + 11, + 0, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 10, + 0, + 0, + 11, + 0, + 10, + 10, + 8, + 12, + 0, + 13, + 14, + 15, + 0, + 0, + 0, + 0, + 0, + 9, + 8, + 0, + 0, + 10, + 8, + 0, + 11, + 0, + 12, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 8, + 0, + 13, + 0, + 0, + 10, + 10, + 0, + 0, + 9, + 5, + 0, + 0, + 11, + 10, + 12, + 11, + 13, + 14, + 15, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 9, + 0, + 0, + 13, + 0, + 0, + 0, + 10, + 9, + 0, + 11, + 0, + 12, + 12, + 0, + 13, + 13, + 0, + 0, + 0, + 7, + 8, + 0, + 0, + 8, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 13, + 0, + 10, + 10, + 0, + 10, + 0, + 9, + 9, + 11, + 11, + 10, + 0, + 12, + 0, + 13, + 0, + 12, + 12, + 14, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 9, + 0, + 9, + 0, + 10, + 11, + 11, + 10, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 9, + 0, + 0, + 0, + 13, + 13, + 10, + 10, + 10, + 9, + 0, + 0, + 11, + 10, + 10, + 12, + 0, + 0, + 0, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 12, + 12, + 0, + 0, + 9, + 10, + 0, + 9, + 9, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 12, + 11, + 11, + 7, + 9, + 9, + 13, + 12, + 10, + 9, + 14, + 11, + 0, + 15, + 12, + 12, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 15, + 11, + 0, + 10, + 0, + 0, + 0, + 12, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 10, + 10, + 0, + 8, + 0, + 12, + 11, + 11, + 9, + 0, + 0, + 13, + 10, + 0, + 14, + 11, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 10, + 0, + 0, + 0, + 11, + 12, + 12, + 10, + 8, + 12, + 9, + 0, + 0, + 0, + 10, + 10, + 0, + 11, + 0, + 10, + 0, + 0, + 12, + 9, + 11, + 9, + 9, + 0, + 13, + 12, + 10, + 14, + 15, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 11, + 11, + 0, + 0, + 12, + 12, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 10, + 10, + 0, + 11, + 0, + 10, + 0, + 0, + 8, + 12, + 0, + 11, + 9, + 13, + 0, + 0, + 0, + 14, + 0, + 15, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 10, + 0, + 0, + 0, + 0, + 11, + 11, + 0, + 12, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 7, + 9, + 14, + 0, + 0, + 11, + 10, + 0, + 12, + 0, + 13, + 13, + 14, + 0, + 15, + 0, + 0, + 16, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 13, + 13, + 0, + 0, + 10, + 0, + 0, + 0, + 11, + 10, + 12, + 12, + 13, + 13, + 14, + 14, + 14, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 5, + 5, + 13, + 0, + 12, + 10, + 0, + 7, + 0, + 0, + 9, + 0, + 14, + 0, + 11, + 0, + 11, + 10, + 12, + 11, + 13, + 17, + 14, + 15, + 0, + 0, + 0, + 5, + 0, + 0, + 12, + 9, + 0, + 13, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 10, + 0, + 11, + 12, + 12, + 11, + 13, + 13, + 14, + 0, + 0, + 0, + 0, + 0, + 12, + 8, + 9, + 0, + 0, + 0, + 13, + 9, + 0, + 12, + 12, + 10, + 0, + 9, + 14, + 14, + 0, + 13, + 11, + 10, + 15, + 12, + 12, + 0, + 11, + 13, + 0, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 13, + 0, + 9, + 0, + 10, + 10, + 9, + 11, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 0, + 9, + 0, + 13, + 12, + 0, + 14, + 10, + 0, + 9, + 0, + 14, + 13, + 0, + 11, + 0, + 15, + 11, + 0, + 12, + 0, + 0, + 0, + 11, + 0, + 0, + 0, + 0, + 0, + 12, + 8, + 0, + 11, + 0, + 9, + 0, + 0, + 0, + 10, + 14, + 11, + 0, + 0, + 0, + 12, + 0, + 11, + 0, + 9, + 0, + 13, + 0, + 12, + 10, + 0, + 0, + 14, + 11, + 11, + 15, + 0, + 14, + 12, + 16, + 0, + 0, + 0, + 0, + 11, + 7, + 0, + 10, + 10, + 0, + 0, + 0, + 12, + 11, + 0, + 9, + 0, + 9, + 0, + 13, + 0, + 10, + 0, + 0, + 14, + 0, + 0, + 0, + 0, + 11, + 0, + 10, + 0, + 12, + 0, + 11, + 9, + 0, + 0, + 0, + 13, + 12, + 12, + 10, + 14, + 13, + 11, + 0, + 15, + 11, + 0, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 11, + 0, + 10, + 0, + 0, + 0, + 0, + 19, + 12, + 0, + 9, + 0, + 0, + 13, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 11, + 0, + 0, + 10, + 10, + 15, + 0, + 0, + 0, + 12, + 0, + 11, + 0, + 0, + 9, + 0, + 13, + 0, + 0, + 0, + 14, + 14, + 0, + 0, + 0, + 15, + 0, + 16, + 17, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 10, + 0, + 0, + 8, + 19, + 12, + 12, + 0, + 0, + 15, + 0, + 0, + 0, + 0, + 0, + 10, + 9, + 0, + 14, + 0, + 11, + 0, + 10, + 0, + 15, + 0, + 12, + 9, + 0, + 11, + 0, + 9, + 13, + 0, + 14, + 15, + 0, + 0, + 16, + 17, + 0, + 0, + 9, + 0, + 0, + 0, + 17, + 14, + 10, + 10, + 0, + 10, + 14, + 7, + 0, + 0, + 11, + 0, + 0, + 0, + 12, + 13, + 13, + 14, + 15, + 0, + 15, + 15, + 16, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 10, + 0, + 0, + 0, + 14, + 7, + 0, + 0, + 0, + 0, + 13, + 0, + 9, + 11, + 0, + 0, + 10, + 0, + 0, + 0, + 15, + 0, + 12, + 0, + 12, + 11, + 11, + 13, + 12, + 17, + 14, + 0, + 15, + 0, + 0, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 13, + 6, + 10, + 0, + 12, + 12, + 0, + 0, + 10, + 0, + 0, + 0, + 14, + 14, + 0, + 0, + 13, + 11, + 0, + 11, + 11, + 10, + 0, + 12, + 11, + 13, + 13, + 12, + 14, + 14, + 14, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 13, + 0, + 12, + 0, + 10, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 18, + 14, + 0, + 13, + 9, + 11, + 10, + 15, + 15, + 12, + 16, + 12, + 0, + 0, + 11, + 13, + 12, + 0, + 17, + 14, + 15, + 0, + 0, + 0, + 12, + 11, + 0, + 0, + 0, + 13, + 0, + 0, + 17, + 0, + 12, + 0, + 10, + 14, + 11, + 11, + 10, + 15, + 11, + 11, + 14, + 0, + 0, + 0, + 0, + 0, + 8, + 12, + 0, + 0, + 0, + 0, + 13, + 0, + 0, + 12, + 0, + 10, + 0, + 9, + 10, + 0, + 14, + 13, + 13, + 11, + 10, + 0, + 15, + 15, + 12, + 0, + 14, + 0, + 19, + 9, + 12, + 11, + 0, + 16, + 13, + 17, + 17, + 14, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 0, + 11, + 0, + 0, + 11, + 0, + 0, + 13, + 9, + 0, + 12, + 0, + 9, + 10, + 0, + 14, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 0, + 12, + 0, + 11, + 9, + 0, + 0, + 0, + 0, + 0, + 13, + 12, + 10, + 0, + 14, + 15, + 13, + 13, + 10, + 11, + 15, + 11, + 12, + 12, + 11, + 16, + 0, + 15, + 17, + 0, + 0, + 11, + 0, + 0, + 0, + 12, + 0, + 0, + 0, + 9, + 0, + 13, + 10, + 14, + 10, + 13, + 15, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 9, + 11, + 16, + 0, + 9, + 0, + 0, + 0, + 0, + 13, + 0, + 12, + 10, + 10, + 14, + 13, + 13, + 11, + 11, + 0, + 15, + 0, + 14, + 0, + 12, + 0, + 16, + 0, + 17, + 18, + 18, + 0, + 11, + 0, + 0, + 0, + 8, + 0, + 19, + 12, + 12, + 11, + 0, + 0, + 9, + 0, + 0, + 13, + 0, + 10, + 14, + 0, + 0, + 17, + 18, + 0, + 0, + 0, + 11, + 0, + 0, + 15, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 11, + 16, + 0, + 0, + 9, + 0, + 0, + 13, + 10, + 19, + 12, + 10, + 14, + 11, + 0, + 15, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 16, + 17, + 0, + 18, + 0, + 0, + 0, + 0, + 14, + 0, + 15, + 11, + 0, + 11, + 10, + 0, + 0, + 0, + 0, + 15, + 15, + 0, + 12, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 13, + 13, + 13, + 14, + 14, + 16, + 17, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 0, + 10, + 15, + 8, + 0, + 0, + 0, + 0, + 0, + 14, + 0, + 0, + 12, + 0, + 11, + 0, + 16, + 0, + 0, + 0, + 0, + 8, + 13, + 10, + 12, + 10, + 16, + 14, + 15, + 15, + 0, + 16, + 17, + 0, + 18, + 0, + 0, + 0, + 0, + 10, + 0, + 14, + 10, + 15, + 0, + 0, + 14, + 11, + 0, + 11, + 10, + 10, + 0, + 0, + 15, + 11, + 0, + 0, + 0, + 0, + 12, + 8, + 12, + 11, + 11, + 0, + 0, + 9, + 15, + 13, + 13, + 12, + 14, + 0, + 13, + 15, + 16, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 14, + 10, + 0, + 0, + 10, + 6, + 11, + 0, + 8, + 0, + 0, + 10, + 0, + 0, + 15, + 14, + 12, + 0, + 9, + 0, + 11, + 7, + 0, + 16, + 13, + 9, + 15, + 13, + 12, + 12, + 0, + 0, + 0, + 14, + 13, + 18, + 15, + 19, + 0, + 0, + 0, + 16, + 0, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 5, + 0, + 14, + 0, + 0, + 14, + 13, + 0, + 11, + 11, + 11, + 10, + 0, + 15, + 15, + 0, + 12, + 11, + 11, + 0, + 13, + 14, + 13, + 0, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 9, + 10, + 0, + 0, + 0, + 14, + 0, + 13, + 9, + 0, + 0, + 11, + 0, + 0, + 10, + 19, + 0, + 15, + 0, + 14, + 14, + 10, + 16, + 12, + 11, + 16, + 0, + 0, + 13, + 12, + 0, + 17, + 14, + 0, + 18, + 15, + 15, + 0, + 0, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 6, + 0, + 12, + 12, + 0, + 0, + 10, + 0, + 10, + 0, + 14, + 10, + 0, + 13, + 0, + 0, + 0, + 11, + 0, + 11, + 10, + 15, + 15, + 12, + 11, + 13, + 0, + 12, + 15, + 0, + 0, + 0, + 0, + 17, + 13, + 0, + 12, + 8, + 6, + 0, + 10, + 0, + 0, + 0, + 18, + 14, + 0, + 13, + 11, + 0, + 10, + 10, + 0, + 15, + 12, + 14, + 12, + 0, + 11, + 11, + 16, + 13, + 13, + 17, + 13, + 14, + 18, + 18, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 0, + 12, + 0, + 0, + 10, + 0, + 0, + 9, + 14, + 0, + 14, + 11, + 0, + 15, + 12, + 12, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 12, + 17, + 0, + 0, + 10, + 10, + 0, + 0, + 0, + 18, + 14, + 13, + 11, + 10, + 15, + 15, + 12, + 14, + 10, + 12, + 12, + 11, + 16, + 12, + 0, + 13, + 12, + 17, + 0, + 0, + 18, + 0, + 0, + 0, + 0, + 0, + 12, + 12, + 11, + 0, + 0, + 20, + 0, + 13, + 12, + 12, + 0, + 10, + 14, + 11, + 11, + 15, + 11, + 15, + 14, + 12, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 12, + 8, + 11, + 7, + 16, + 12, + 0, + 13, + 0, + 12, + 17, + 13, + 0, + 14, + 10, + 0, + 0, + 14, + 13, + 11, + 11, + 15, + 14, + 14, + 12, + 16, + 13, + 15, + 0, + 0, + 0, + 0, + 17, + 0, + 0, + 0, + 18, + 0, + 0, + 11, + 10, + 0, + 12, + 12, + 11, + 0, + 0, + 13, + 0, + 13, + 0, + 12, + 0, + 10, + 0, + 14, + 10, + 14, + 13, + 15, + 16, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 12, + 12, + 0, + 11, + 16, + 0, + 0, + 0, + 13, + 12, + 17, + 14, + 10, + 14, + 11, + 13, + 11, + 15, + 12, + 16, + 14, + 12, + 16, + 0, + 0, + 0, + 17, + 17, + 18, + 0, + 19, + 0, + 0, + 11, + 11, + 0, + 10, + 0, + 15, + 0, + 0, + 0, + 0, + 0, + 15, + 12, + 12, + 12, + 0, + 11, + 0, + 0, + 16, + 12, + 0, + 9, + 0, + 13, + 13, + 13, + 13, + 0, + 12, + 10, + 0, + 0, + 14, + 14, + 13, + 11, + 15, + 11, + 15, + 15, + 14, + 0, + 0, + 17, + 18, + 0, + 0, + 0, + 10, + 0, + 10, + 0, + 11, + 0, + 12, + 15, + 14, + 12, + 0, + 0, + 0, + 11, + 0, + 8, + 16, + 12, + 0, + 0, + 0, + 15, + 13, + 12, + 8, + 17, + 10, + 9, + 14, + 0, + 13, + 11, + 19, + 15, + 0, + 0, + 16, + 16, + 17, + 0, + 18, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 11, + 0, + 0, + 0, + 0, + 19, + 15, + 0, + 14, + 0, + 0, + 15, + 12, + 12, + 11, + 0, + 16, + 9, + 13, + 9, + 13, + 12, + 10, + 10, + 14, + 14, + 13, + 13, + 0, + 15, + 15, + 0, + 14, + 16, + 16, + 17, + 0, + 0, + 0, + 0, + 18, + 14, + 0, + 11, + 12, + 0, + 0, + 15, + 9, + 0, + 14, + 12, + 9, + 0, + 13, + 11, + 14, + 0, + 16, + 0, + 0, + 15, + 15, + 13, + 0, + 12, + 8, + 0, + 0, + 17, + 14, + 0, + 10, + 14, + 13, + 0, + 0, + 15, + 0, + 0, + 0, + 14, + 14, + 19, + 16, + 20, + 17, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 10, + 0, + 13, + 0, + 0, + 11, + 0, + 8, + 0, + 11, + 0, + 19, + 15, + 15, + 0, + 0, + 14, + 14, + 12, + 12, + 0, + 0, + 11, + 0, + 0, + 13, + 13, + 13, + 12, + 0, + 0, + 0, + 14, + 0, + 13, + 15, + 15, + 14, + 19, + 16, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 18, + 14, + 14, + 0, + 13, + 9, + 0, + 11, + 0, + 0, + 0, + 10, + 0, + 15, + 0, + 14, + 10, + 0, + 11, + 0, + 18, + 12, + 0, + 0, + 11, + 20, + 0, + 16, + 0, + 15, + 17, + 13, + 0, + 12, + 8, + 0, + 17, + 17, + 14, + 14, + 13, + 0, + 18, + 14, + 0, + 15, + 19, + 19, + 16, + 20, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 0, + 0, + 0, + 15, + 0, + 14, + 0, + 20, + 14, + 13, + 0, + 0, + 0, + 7, + 11, + 0, + 11, + 10, + 0, + 0, + 15, + 15, + 15, + 15, + 12, + 12, + 11, + 16, + 0, + 13, + 12, + 14, + 14, + 13, + 13, + 0, + 15, + 19, + 16, + 0, + 0, + 0, + 0, + 0, + 0, + 17, + 0, + 14, + 13, + 0, + 0, + 7, + 0, + 11, + 0, + 0, + 10, + 15, + 14, + 0, + 0, + 16, + 12, + 0, + 0, + 11, + 16, + 15, + 13, + 12, + 17, + 0, + 0, + 14, + 18, + 14, + 0, + 0, + 15, + 19, + 16, + 0, + 0, + 20, + 0, + 0, + 13, + 10, + 13, + 0, + 13, + 0, + 0, + 0, + 0, + 21, + 14, + 0, + 14, + 14, + 13, + 0, + 0, + 0, + 14, + 11, + 11, + 0, + 0, + 10, + 15, + 0, + 12, + 12, + 11, + 16, + 0, + 13, + 13, + 14, + 15, + 19, + 0, + 0, + 0, + 0, + 12, + 13, + 0, + 12, + 13, + 0, + 10, + 0, + 9, + 14, + 0, + 13, + 0, + 0, + 11, + 11, + 0, + 10, + 19, + 15, + 12, + 14, + 10, + 11, + 9, + 12, + 12, + 0, + 11, + 0, + 16, + 16, + 13, + 13, + 17, + 14, + 13, + 0, + 18, + 0, + 15, + 19, + 0, + 20, + 16, + 0, + 13, + 13, + 0, + 12, + 0, + 13, + 13, + 10, + 0, + 0, + 21, + 0, + 9, + 14, + 14, + 0, + 13, + 11, + 11, + 0, + 10, + 11, + 15, + 12, + 12, + 16, + 13, + 12, + 17, + 14, + 0, + 0, + 0, + 13, + 12, + 8, + 17, + 0, + 10, + 11, + 12, + 0, + 0, + 0, + 0, + 14, + 0, + 13, + 10, + 8, + 0, + 15, + 11, + 0, + 0, + 9, + 15, + 12, + 14, + 10, + 12, + 11, + 16, + 0, + 15, + 17, + 13, + 17, + 14, + 0, + 18, + 18, + 0, + 0, + 0, + 19, + 0, + 12, + 8, + 12, + 0, + 0, + 11, + 0, + 20, + 0, + 0, + 0, + 11, + 13, + 13, + 12, + 0, + 0, + 14, + 21, + 14, + 14, + 13, + 11, + 0, + 0, + 11, + 0, + 0, + 15, + 15, + 14, + 12, + 0, + 16, + 16, + 17, + 0, + 0, + 0, + 0, + 12, + 0, + 0, + 16, + 13, + 12, + 17, + 0, + 0, + 10, + 0, + 14, + 0, + 13, + 13, + 0, + 11, + 15, + 12, + 14, + 11, + 14, + 12, + 16, + 0, + 17, + 13, + 0, + 17, + 0, + 0, + 18, + 12, + 11, + 11, + 0, + 16, + 0, + 0, + 16, + 13, + 13, + 0, + 12, + 0, + 0, + 14, + 14, + 0, + 14, + 0, + 11, + 12, + 11, + 15, + 11, + 15, + 12, + 16, + 16, + 0, + 0, + 17, + 17, + 0, + 0, + 8, + 0, + 0, + 12, + 0, + 11, + 16, + 12, + 0, + 0, + 15, + 13, + 0, + 12, + 0, + 17, + 12, + 0, + 10, + 16, + 14, + 13, + 9, + 0, + 18, + 11, + 11, + 12, + 15, + 12, + 0, + 0, + 12, + 0, + 16, + 0, + 17, + 0, + 17, + 21, + 0, + 18, + 19, + 20, + 0, + 0, + 0, + 0, + 10, + 15, + 0, + 15, + 0, + 19, + 12, + 12, + 0, + 11, + 0, + 16, + 0, + 20, + 13, + 13, + 13, + 12, + 0, + 10, + 10, + 12, + 16, + 11, + 11, + 0, + 14, + 12, + 14, + 0, + 15, + 0, + 0, + 16, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 0, + 0, + 0, + 0, + 0, + 15, + 15, + 11, + 12, + 0, + 11, + 0, + 16, + 16, + 0, + 15, + 11, + 0, + 13, + 0, + 12, + 17, + 11, + 14, + 0, + 13, + 0, + 0, + 18, + 0, + 11, + 15, + 19, + 0, + 0, + 16, + 0, + 0, + 15, + 0, + 20, + 16, + 17, + 21, + 0, + 18, + 19, + 0, + 0, + 0, + 14, + 14, + 0, + 11, + 16, + 19, + 0, + 15, + 0, + 14, + 0, + 15, + 8, + 12, + 0, + 0, + 12, + 11, + 11, + 16, + 16, + 11, + 15, + 10, + 0, + 13, + 13, + 0, + 0, + 12, + 18, + 14, + 14, + 13, + 15, + 0, + 15, + 14, + 14, + 15, + 0, + 19, + 16, + 16, + 16, + 15, + 20, + 17, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 14, + 11, + 15, + 15, + 14, + 0, + 12, + 0, + 11, + 0, + 16, + 15, + 13, + 0, + 12, + 12, + 17, + 14, + 10, + 0, + 16, + 14, + 13, + 13, + 18, + 18, + 0, + 15, + 14, + 19, + 0, + 0, + 0, + 16, + 20, + 17, + 0, + 18, + 0, + 0, + 0, + 0, + 14, + 13, + 0, + 0, + 0, + 11, + 11, + 16, + 9, + 11, + 14, + 15, + 0, + 15, + 14, + 14, + 0, + 0, + 12, + 12, + 12, + 0, + 11, + 16, + 16, + 13, + 13, + 0, + 12, + 0, + 0, + 21, + 0, + 14, + 14, + 13, + 15, + 15, + 15, + 14, + 19, + 16, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 11, + 18, + 14, + 11, + 0, + 13, + 9, + 0, + 11, + 0, + 0, + 19, + 15, + 9, + 0, + 14, + 0, + 8, + 12, + 9, + 0, + 0, + 11, + 20, + 0, + 16, + 15, + 11, + 13, + 12, + 17, + 16, + 18, + 14, + 0, + 0, + 13, + 18, + 0, + 12, + 12, + 15, + 19, + 16, + 0, + 0, + 20, + 16, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 21, + 0, + 0, + 13, + 14, + 11, + 0, + 14, + 13, + 0, + 0, + 11, + 0, + 16, + 0, + 0, + 0, + 22, + 10, + 8, + 19, + 15, + 0, + 0, + 15, + 0, + 14, + 0, + 12, + 8, + 0, + 0, + 11, + 16, + 0, + 0, + 15, + 13, + 13, + 13, + 12, + 0, + 17, + 15, + 14, + 14, + 13, + 18, + 0, + 15, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 14, + 13, + 0, + 0, + 11, + 11, + 0, + 0, + 0, + 0, + 19, + 15, + 21, + 14, + 11, + 15, + 0, + 12, + 11, + 11, + 16, + 0, + 13, + 15, + 12, + 13, + 12, + 17, + 14, + 13, + 18, + 18, + 0, + 15, + 19, + 19, + 16, + 20, + 16, + 0, + 0, + 0, + 0, + 13, + 9, + 0, + 12, + 0, + 21, + 21, + 21, + 17, + 14, + 14, + 0, + 13, + 0, + 0, + 0, + 0, + 11, + 0, + 10, + 15, + 11, + 0, + 14, + 0, + 12, + 16, + 16, + 16, + 13, + 0, + 17, + 14, + 14, + 18, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 13, + 12, + 17, + 0, + 13, + 14, + 14, + 14, + 0, + 0, + 13, + 0, + 18, + 14, + 0, + 0, + 11, + 0, + 0, + 15, + 14, + 12, + 11, + 16, + 15, + 11, + 13, + 17, + 0, + 0, + 18, + 14, + 18, + 15, + 0, + 15, + 19, + 0, + 0, + 0, + 20, + 0, + 16, + 13, + 13, + 0, + 12, + 0, + 13, + 0, + 17, + 13, + 0, + 0, + 0, + 0, + 0, + 17, + 9, + 9, + 14, + 14, + 13, + 0, + 0, + 0, + 11, + 0, + 15, + 15, + 14, + 0, + 12, + 11, + 16, + 16, + 15, + 17, + 14, + 18, + 0, + 0, + 0, + 17, + 13, + 12, + 8, + 0, + 0, + 17, + 0, + 20, + 0, + 0, + 16, + 12, + 10, + 10, + 14, + 13, + 8, + 0, + 11, + 15, + 12, + 14, + 0, + 0, + 12, + 16, + 11, + 13, + 13, + 17, + 14, + 18, + 14, + 14, + 0, + 18, + 14, + 0, + 0, + 0, + 19, + 0, + 0, + 0, + 0, + 0, + 12, + 12, + 16, + 0, + 16, + 16, + 0, + 0, + 20, + 13, + 13, + 0, + 12, + 12, + 13, + 0, + 17, + 0, + 0, + 0, + 12, + 16, + 21, + 17, + 14, + 14, + 0, + 0, + 13, + 11, + 0, + 0, + 11, + 11, + 15, + 15, + 15, + 14, + 12, + 13, + 16, + 16, + 16, + 17, + 13, + 0, + 17, + 0, + 0, + 0, + 0, + 0, + 16, + 0, + 0, + 17, + 13, + 0, + 0, + 12, + 8, + 0, + 17, + 13, + 0, + 0, + 0, + 16, + 12, + 14, + 0, + 13, + 18, + 11, + 19, + 15, + 12, + 14, + 14, + 11, + 12, + 16, + 0, + 15, + 17, + 13, + 0, + 17, + 0, + 0, + 0, + 18, + 0, + 18, + 0, + 19, + 20, + 21, + 0, + 0, + 0, + 0, + 15, + 12, + 23, + 11, + 0, + 16, + 0, + 15, + 16, + 0, + 0, + 20, + 13, + 0, + 10, + 13, + 12, + 0, + 17, + 0, + 14, + 14, + 14, + 0, + 11, + 15, + 11, + 15, + 14, + 0, + 0, + 0, + 0, + 16, + 0, + 17, + 17, + 16, + 0, + 0, + 11, + 0, + 12, + 16, + 0, + 0, + 15, + 0, + 13, + 0, + 12, + 17, + 17, + 15, + 9, + 16, + 14, + 11, + 13, + 18, + 18, + 11, + 17, + 15, + 12, + 10, + 0, + 0, + 16, + 12, + 16, + 20, + 17, + 0, + 17, + 17, + 0, + 0, + 0, + 21, + 18, + 19, + 0, + 0, + 15, + 14, + 0, + 0, + 12, + 12, + 11, + 0, + 16, + 0, + 15, + 0, + 14, + 13, + 13, + 12, + 17, + 17, + 14, + 16, + 14, + 14, + 14, + 0, + 13, + 0, + 15, + 0, + 19, + 15, + 15, + 14, + 14, + 0, + 0, + 15, + 20, + 0, + 20, + 0, + 17, + 0, + 16, + 0, + 0, + 0, + 7, + 15, + 15, + 15, + 14, + 12, + 11, + 16, + 16, + 15, + 0, + 0, + 13, + 0, + 12, + 0, + 17, + 0, + 20, + 16, + 0, + 0, + 14, + 0, + 13, + 18, + 15, + 11, + 19, + 15, + 14, + 14, + 19, + 18, + 0, + 16, + 20, + 0, + 0, + 17, + 21, + 0, + 0, + 18, + 19, + 0, + 0, + 15, + 15, + 14, + 0, + 0, + 0, + 12, + 0, + 17, + 12, + 12, + 23, + 0, + 8, + 16, + 0, + 0, + 0, + 15, + 0, + 13, + 9, + 13, + 0, + 12, + 12, + 17, + 0, + 0, + 14, + 13, + 13, + 15, + 0, + 14, + 19, + 0, + 0, + 16, + 0, + 15, + 20, + 17, + 0, + 0, + 9, + 0, + 18, + 15, + 0, + 14, + 10, + 12, + 0, + 0, + 0, + 16, + 16, + 13, + 15, + 0, + 13, + 0, + 10, + 0, + 0, + 12, + 12, + 0, + 0, + 17, + 0, + 16, + 13, + 18, + 14, + 13, + 18, + 18, + 0, + 15, + 0, + 0, + 19, + 14, + 0, + 16, + 20, + 0, + 14, + 17, + 0, + 0, + 0, + 0, + 18, + 0, + 0, + 0, + 14, + 10, + 0, + 13, + 0, + 0, + 11, + 22, + 15, + 0, + 15, + 15, + 12, + 12, + 15, + 0, + 0, + 12, + 9, + 12, + 20, + 16, + 0, + 16, + 15, + 0, + 17, + 13, + 12, + 0, + 17, + 16, + 14, + 14, + 13, + 18, + 18, + 0, + 15, + 0, + 14, + 0, + 19, + 16, + 17, + 0, + 0, + 0, + 0, + 18, + 14, + 14, + 13, + 11, + 13, + 19, + 15, + 15, + 14, + 19, + 15, + 12, + 20, + 16, + 15, + 13, + 8, + 17, + 16, + 14, + 13, + 0, + 18, + 15, + 19, + 16, + 20, + 0, + 0, + 10, + 0, + 0, + 0, + 14, + 14, + 13, + 0, + 0, + 11, + 22, + 18, + 15, + 19, + 15, + 15, + 14, + 15, + 0, + 16, + 12, + 12, + 11, + 16, + 0, + 16, + 15, + 15, + 0, + 13, + 13, + 12, + 17, + 12, + 17, + 14, + 0, + 18, + 18, + 17, + 15, + 19, + 0, + 0, + 0, + 0, + 13, + 0, + 9, + 0, + 18, + 14, + 14, + 20, + 0, + 13, + 9, + 0, + 18, + 14, + 11, + 8, + 0, + 0, + 10, + 19, + 15, + 15, + 12, + 14, + 7, + 19, + 0, + 16, + 12, + 0, + 20, + 16, + 16, + 13, + 15, + 10, + 0, + 13, + 0, + 12, + 17, + 0, + 16, + 14, + 14, + 18, + 19, + 15, + 19, + 16, + 0, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 13, + 13, + 12, + 0, + 0, + 0, + 0, + 17, + 14, + 0, + 0, + 12, + 14, + 13, + 0, + 11, + 14, + 0, + 0, + 18, + 18, + 10, + 15, + 15, + 14, + 12, + 0, + 0, + 12, + 0, + 16, + 16, + 16, + 0, + 15, + 0, + 13, + 0, + 17, + 17, + 16, + 18, + 0, + 19, + 22, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 12, + 0, + 17, + 18, + 14, + 14, + 0, + 13, + 18, + 0, + 0, + 0, + 21, + 0, + 17, + 19, + 15, + 0, + 14, + 9, + 0, + 12, + 11, + 16, + 15, + 0, + 13, + 0, + 12, + 17, + 14, + 18, + 0, + 19, + 15, + 19, + 0, + 0, + 20, + 21, + 0, + 0, + 0, + 0, + 0, + 16, + 16, + 12, + 0, + 13, + 0, + 12, + 0, + 0, + 21, + 17, + 0, + 0, + 0, + 0, + 17, + 14, + 0, + 14, + 0, + 13, + 0, + 0, + 10, + 10, + 14, + 0, + 22, + 18, + 0, + 19, + 15, + 11, + 15, + 15, + 14, + 0, + 15, + 12, + 16, + 16, + 16, + 0, + 15, + 13, + 13, + 13, + 13, + 17, + 17, + 18, + 14, + 18, + 18, + 17, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 13, + 17, + 17, + 13, + 12, + 17, + 0, + 16, + 18, + 14, + 14, + 0, + 0, + 13, + 0, + 18, + 14, + 13, + 11, + 11, + 21, + 17, + 13, + 9, + 15, + 15, + 14, + 14, + 19, + 15, + 0, + 12, + 16, + 0, + 15, + 0, + 13, + 13, + 17, + 0, + 0, + 18, + 14, + 0, + 18, + 0, + 0, + 19, + 18, + 19, + 20, + 21, + 22, + 0, + 0, + 0, + 16, + 12, + 16, + 15, + 0, + 0, + 0, + 13, + 18, + 13, + 12, + 0, + 0, + 17, + 16, + 0, + 17, + 0, + 0, + 21, + 14, + 14, + 13, + 0, + 18, + 11, + 11, + 15, + 15, + 14, + 0, + 0, + 12, + 16, + 13, + 16, + 16, + 0, + 17, + 17, + 18, + 18, + 18, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 20, + 16, + 16, + 15, + 15, + 17, + 13, + 12, + 0, + 13, + 0, + 9, + 17, + 13, + 0, + 20, + 0, + 0, + 16, + 14, + 0, + 17, + 13, + 18, + 11, + 21, + 0, + 17, + 13, + 15, + 17, + 15, + 26, + 14, + 14, + 19, + 14, + 12, + 16, + 0, + 0, + 15, + 0, + 0, + 0, + 20, + 17, + 0, + 0, + 17, + 21, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 17, + 0, + 22, + 19, + 19, + 20, + 20, + 0, + 12, + 12, + 19, + 16, + 0, + 15, + 0, + 0, + 0, + 13, + 18, + 13, + 12, + 17, + 0, + 0, + 0, + 16, + 16, + 0, + 17, + 14, + 14, + 13, + 13, + 18, + 15, + 0, + 11, + 15, + 15, + 14, + 14, + 14, + 12, + 20, + 16, + 16, + 15, + 17, + 0, + 0, + 17, + 0, + 17, + 0, + 18, + 18, + 17, + 19, + 0, + 0, + 0, + 12, + 0, + 20, + 16, + 16, + 0, + 15, + 13, + 0, + 12, + 0, + 17, + 0, + 0, + 16, + 0, + 0, + 14, + 0, + 13, + 0, + 18, + 11, + 0, + 21, + 0, + 17, + 15, + 0, + 15, + 19, + 12, + 20, + 16, + 15, + 20, + 16, + 0, + 0, + 17, + 0, + 21, + 0, + 18, + 22, + 19, + 19, + 20, + 0, + 0, + 15, + 0, + 15, + 15, + 14, + 0, + 23, + 12, + 12, + 0, + 19, + 12, + 0, + 16, + 0, + 16, + 16, + 15, + 0, + 0, + 12, + 0, + 17, + 13, + 13, + 12, + 0, + 17, + 17, + 0, + 10, + 17, + 16, + 16, + 0, + 14, + 14, + 0, + 0, + 13, + 13, + 18, + 0, + 15, + 11, + 11, + 15, + 15, + 14, + 19, + 19, + 16, + 15, + 20, + 20, + 17, + 17, + 0, + 16, + 18, + 0, + 0, + 0, + 19, + 15, + 15, + 14, + 12, + 12, + 0, + 8, + 20, + 16, + 0, + 15, + 11, + 16, + 0, + 13, + 0, + 0, + 12, + 17, + 16, + 18, + 14, + 14, + 0, + 13, + 13, + 0, + 18, + 15, + 17, + 15, + 0, + 14, + 10, + 19, + 0, + 0, + 0, + 0, + 16, + 16, + 20, + 0, + 0, + 14, + 17, + 21, + 21, + 18, + 19, + 0, + 0, + 0, + 0, + 14, + 15, + 15, + 15, + 14, + 14, + 0, + 0, + 12, + 17, + 0, + 12, + 0, + 19, + 0, + 16, + 13, + 13, + 16, + 15, + 0, + 0, + 13, + 9, + 10, + 0, + 13, + 17, + 0, + 17, + 14, + 0, + 14, + 0, + 13, + 15, + 14, + 0, + 19, + 16, + 0, + 20, + 17, + 17, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 19, + 15, + 15, + 14, + 10, + 19, + 0, + 12, + 20, + 16, + 13, + 13, + 15, + 0, + 17, + 13, + 21, + 17, + 17, + 16, + 21, + 14, + 14, + 13, + 18, + 15, + 0, + 17, + 15, + 0, + 14, + 19, + 19, + 16, + 20, + 0, + 0, + 17, + 21, + 18, + 0, + 0, + 14, + 0, + 9, + 18, + 15, + 15, + 0, + 14, + 0, + 15, + 19, + 12, + 12, + 19, + 16, + 16, + 0, + 15, + 0, + 0, + 13, + 13, + 17, + 17, + 18, + 17, + 17, + 14, + 14, + 14, + 0, + 18, + 18, + 15, + 0, + 19, + 19, + 18, + 16, + 0, + 0, + 0, + 14, + 14, + 19, + 15, + 9, + 0, + 14, + 0, + 19, + 15, + 8, + 12, + 0, + 9, + 16, + 16, + 13, + 15, + 20, + 0, + 13, + 13, + 17, + 17, + 16, + 14, + 13, + 18, + 0, + 17, + 15, + 19, + 16, + 17, + 20, + 17, + 15, + 0, + 21, + 0, + 0, + 0, + 0, + 0, + 14, + 14, + 14, + 14, + 13, + 0, + 22, + 18, + 14, + 18, + 15, + 15, + 0, + 14, + 12, + 12, + 0, + 12, + 12, + 16, + 16, + 0, + 15, + 0, + 16, + 13, + 17, + 13, + 17, + 0, + 16, + 14, + 18, + 18, + 18, + 0, + 15, + 19, + 16, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 0, + 11, + 0, + 13, + 18, + 14, + 14, + 13, + 9, + 18, + 14, + 17, + 13, + 7, + 19, + 15, + 15, + 0, + 14, + 19, + 19, + 0, + 0, + 12, + 18, + 20, + 16, + 16, + 0, + 15, + 13, + 0, + 17, + 16, + 14, + 0, + 18, + 0, + 15, + 19, + 0, + 20, + 16, + 0, + 0, + 20, + 16, + 0, + 22, + 0, + 7, + 0, + 0, + 13, + 17, + 17, + 0, + 17, + 0, + 0, + 14, + 14, + 0, + 13, + 0, + 18, + 14, + 15, + 0, + 17, + 18, + 15, + 15, + 0, + 14, + 0, + 15, + 12, + 12, + 16, + 16, + 0, + 15, + 15, + 13, + 14, + 21, + 17, + 13, + 17, + 0, + 14, + 0, + 18, + 18, + 0, + 19, + 18, + 0, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 17, + 13, + 18, + 14, + 18, + 14, + 14, + 0, + 13, + 18, + 0, + 0, + 17, + 15, + 15, + 12, + 0, + 14, + 19, + 12, + 18, + 20, + 16, + 0, + 15, + 0, + 13, + 21, + 17, + 0, + 0, + 0, + 14, + 13, + 18, + 19, + 15, + 23, + 19, + 19, + 0, + 0, + 20, + 0, + 20, + 21, + 22, + 21, + 23, + 0, + 0, + 13, + 13, + 12, + 17, + 17, + 14, + 0, + 17, + 0, + 0, + 21, + 14, + 19, + 12, + 14, + 11, + 11, + 0, + 0, + 0, + 10, + 18, + 17, + 0, + 15, + 15, + 14, + 0, + 12, + 12, + 16, + 12, + 16, + 15, + 17, + 17, + 13, + 13, + 12, + 17, + 17, + 18, + 0, + 18, + 17, + 19, + 19, + 0, + 0, + 9, + 17, + 13, + 17, + 17, + 14, + 12, + 16, + 14, + 0, + 13, + 18, + 15, + 24, + 0, + 21, + 0, + 17, + 13, + 0, + 15, + 18, + 14, + 19, + 15, + 12, + 16, + 16, + 0, + 15, + 15, + 24, + 20, + 13, + 17, + 0, + 18, + 14, + 18, + 0, + 0, + 19, + 20, + 21, + 22, + 0, + 0, + 16, + 13, + 9, + 16, + 15, + 0, + 0, + 13, + 18, + 0, + 19, + 13, + 0, + 0, + 17, + 0, + 0, + 17, + 16, + 0, + 17, + 0, + 0, + 14, + 19, + 14, + 14, + 13, + 0, + 18, + 17, + 0, + 0, + 11, + 15, + 15, + 14, + 0, + 20, + 23, + 0, + 16, + 16, + 15, + 15, + 21, + 17, + 17, + 16, + 0, + 0, + 18, + 18, + 0, + 19, + 19, + 18, + 0, + 0, + 0, + 0, + 10, + 0, + 20, + 16, + 16, + 19, + 13, + 10, + 12, + 21, + 17, + 0, + 16, + 21, + 14, + 17, + 0, + 13, + 18, + 17, + 13, + 19, + 15, + 0, + 0, + 14, + 14, + 23, + 19, + 15, + 12, + 22, + 0, + 20, + 16, + 13, + 15, + 20, + 16, + 0, + 0, + 21, + 17, + 16, + 0, + 21, + 16, + 0, + 18, + 22, + 0, + 19, + 20, + 21, + 0, + 0, + 0, + 0, + 19, + 16, + 0, + 16, + 15, + 24, + 13, + 18, + 20, + 13, + 0, + 12, + 17, + 0, + 17, + 11, + 16, + 0, + 17, + 0, + 18, + 14, + 19, + 12, + 14, + 13, + 13, + 18, + 15, + 15, + 11, + 11, + 15, + 15, + 14, + 12, + 19, + 19, + 16, + 16, + 15, + 0, + 0, + 0, + 17, + 17, + 0, + 16, + 18, + 18, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 20, + 16, + 15, + 13, + 12, + 21, + 17, + 16, + 0, + 14, + 13, + 9, + 22, + 18, + 18, + 15, + 17, + 19, + 15, + 0, + 0, + 14, + 19, + 12, + 0, + 14, + 0, + 20, + 16, + 15, + 20, + 0, + 17, + 21, + 21, + 0, + 15, + 15, + 18, + 22, + 19, + 0, + 12, + 19, + 15, + 15, + 14, + 0, + 0, + 10, + 16, + 13, + 16, + 15, + 15, + 16, + 13, + 18, + 11, + 13, + 12, + 17, + 17, + 17, + 14, + 0, + 14, + 14, + 14, + 13, + 18, + 0, + 0, + 15, + 15, + 14, + 14, + 19, + 19, + 16, + 16, + 15, + 0, + 20, + 20, + 0, + 17, + 17, + 0, + 18, + 19, + 0, + 0, + 0, + 0, + 12, + 15, + 0, + 19, + 14, + 13, + 20, + 16, + 16, + 15, + 20, + 9, + 13, + 10, + 0, + 12, + 21, + 17, + 16, + 14, + 10, + 13, + 22, + 18, + 18, + 0, + 15, + 17, + 13, + 15, + 16, + 14, + 19, + 16, + 0, + 0, + 16, + 24, + 20, + 0, + 17, + 21, + 0, + 18, + 22, + 0, + 0, + 18, + 18, + 19, + 15, + 15, + 14, + 0, + 23, + 19, + 0, + 12, + 19, + 0, + 11, + 0, + 16, + 16, + 15, + 0, + 16, + 13, + 20, + 17, + 17, + 16, + 14, + 0, + 14, + 10, + 0, + 13, + 0, + 18, + 0, + 18, + 15, + 15, + 0, + 19, + 19, + 23, + 19, + 0, + 16, + 20, + 20, + 17, + 17, + 0, + 0, + 10, + 0, + 0, + 0, + 14, + 19, + 15, + 0, + 14, + 11, + 19, + 12, + 12, + 0, + 20, + 20, + 16, + 13, + 10, + 15, + 0, + 20, + 10, + 0, + 13, + 0, + 14, + 21, + 21, + 17, + 17, + 14, + 16, + 17, + 14, + 0, + 13, + 18, + 17, + 0, + 15, + 0, + 14, + 0, + 19, + 16, + 20, + 0, + 0, + 17, + 21, + 0, + 0, + 18, + 0, + 14, + 10, + 0, + 0, + 14, + 15, + 15, + 0, + 15, + 14, + 12, + 12, + 0, + 19, + 15, + 0, + 0, + 18, + 19, + 20, + 16, + 16, + 15, + 13, + 13, + 16, + 13, + 20, + 17, + 17, + 0, + 16, + 0, + 14, + 0, + 18, + 18, + 17, + 15, + 15, + 19, + 15, + 19, + 18, + 16, + 0, + 18, + 0, + 22, + 12, + 0, + 19, + 15, + 14, + 10, + 19, + 12, + 9, + 0, + 0, + 14, + 0, + 0, + 16, + 16, + 16, + 0, + 13, + 15, + 20, + 0, + 13, + 17, + 17, + 16, + 0, + 14, + 0, + 0, + 18, + 17, + 0, + 15, + 14, + 19, + 16, + 16, + 20, + 0, + 0, + 21, + 17, + 0, + 0, + 0, + 0, + 14, + 14, + 0, + 9, + 0, + 18, + 14, + 0, + 0, + 0, + 0, + 0, + 15, + 13, + 15, + 15, + 0, + 14, + 0, + 0, + 19, + 15, + 23, + 23, + 16, + 16, + 16, + 15, + 0, + 0, + 13, + 13, + 0, + 17, + 13, + 0, + 17, + 16, + 0, + 14, + 18, + 18, + 18, + 15, + 19, + 19, + 18, + 16, + 19, + 22, + 0, + 0, + 18, + 0, + 14, + 13, + 13, + 18, + 14, + 17, + 17, + 15, + 15, + 14, + 11, + 19, + 0, + 0, + 18, + 12, + 16, + 15, + 20, + 13, + 0, + 17, + 13, + 0, + 16, + 12, + 21, + 18, + 0, + 14, + 18, + 19, + 15, + 19, + 0, + 16, + 0, + 16, + 0, + 20, + 0, + 0, + 21, + 0, + 22, + 9, + 13, + 17, + 17, + 16, + 25, + 14, + 14, + 13, + 13, + 18, + 14, + 17, + 0, + 15, + 15, + 0, + 14, + 0, + 19, + 0, + 16, + 16, + 0, + 0, + 0, + 13, + 13, + 17, + 17, + 17, + 18, + 18, + 15, + 19, + 19, + 19, + 18, + 22, + 22, + 0, + 0, + 21, + 0, + 14, + 14, + 13, + 0, + 13, + 18, + 15, + 17, + 15, + 0, + 0, + 18, + 14, + 19, + 12, + 18, + 14, + 16, + 15, + 20, + 16, + 13, + 15, + 17, + 0, + 14, + 13, + 18, + 18, + 0, + 19, + 15, + 0, + 0, + 19, + 0, + 20, + 21, + 22, + 13, + 13, + 17, + 11, + 16, + 14, + 0, + 0, + 14, + 14, + 0, + 0, + 13, + 0, + 18, + 18, + 0, + 12, + 17, + 0, + 11, + 15, + 20, + 15, + 14, + 19, + 12, + 12, + 0, + 16, + 16, + 15, + 0, + 21, + 17, + 13, + 17, + 16, + 0, + 22, + 18, + 14, + 18, + 18, + 0, + 19, + 19, + 20, + 22, + 0, + 0, + 0, + 12, + 17, + 17, + 17, + 16, + 12, + 14, + 10, + 13, + 13, + 18, + 17, + 15, + 12, + 0, + 0, + 14, + 19, + 19, + 19, + 18, + 16, + 0, + 15, + 15, + 20, + 13, + 0, + 0, + 17, + 14, + 25, + 21, + 17, + 0, + 0, + 0, + 18, + 17, + 22, + 0, + 19, + 0, + 0, + 20, + 21, + 22, + 0, + 0, + 0, + 16, + 0, + 16, + 0, + 20, + 13, + 0, + 11, + 13, + 0, + 17, + 0, + 16, + 0, + 0, + 25, + 22, + 0, + 14, + 14, + 0, + 11, + 22, + 18, + 0, + 18, + 17, + 0, + 15, + 11, + 15, + 0, + 14, + 14, + 19, + 15, + 16, + 16, + 16, + 12, + 16, + 15, + 20, + 17, + 17, + 16, + 0, + 21, + 18, + 17, + 19, + 0, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 20, + 16, + 0, + 12, + 13, + 13, + 21, + 17, + 17, + 16, + 12, + 13, + 21, + 17, + 18, + 14, + 11, + 0, + 0, + 0, + 13, + 0, + 18, + 0, + 17, + 13, + 15, + 0, + 14, + 14, + 10, + 23, + 19, + 19, + 0, + 18, + 16, + 19, + 15, + 11, + 0, + 20, + 0, + 17, + 21, + 17, + 16, + 0, + 18, + 22, + 0, + 16, + 0, + 19, + 23, + 20, + 20, + 0, + 0, + 0, + 11, + 16, + 16, + 15, + 0, + 0, + 16, + 13, + 0, + 20, + 13, + 0, + 0, + 0, + 17, + 17, + 0, + 17, + 16, + 0, + 14, + 10, + 11, + 12, + 14, + 22, + 18, + 18, + 18, + 18, + 17, + 0, + 15, + 11, + 15, + 14, + 19, + 15, + 0, + 16, + 15, + 20, + 24, + 17, + 17, + 17, + 21, + 0, + 20, + 18, + 0, + 18, + 0, + 0, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 20, + 16, + 12, + 0, + 15, + 11, + 20, + 0, + 13, + 0, + 21, + 17, + 17, + 0, + 14, + 0, + 16, + 13, + 21, + 21, + 10, + 14, + 11, + 0, + 18, + 0, + 18, + 0, + 0, + 17, + 15, + 0, + 14, + 10, + 19, + 16, + 18, + 18, + 14, + 20, + 16, + 15, + 20, + 0, + 17, + 21, + 18, + 0, + 18, + 22, + 17, + 0, + 19, + 23, + 20, + 0, + 0, + 19, + 15, + 11, + 14, + 19, + 16, + 13, + 16, + 15, + 0, + 16, + 0, + 12, + 16, + 13, + 0, + 0, + 20, + 17, + 17, + 0, + 16, + 0, + 0, + 0, + 14, + 0, + 18, + 11, + 18, + 15, + 15, + 15, + 14, + 19, + 17, + 19, + 18, + 15, + 15, + 16, + 20, + 20, + 17, + 0, + 17, + 18, + 0, + 20, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 0, + 20, + 16, + 12, + 16, + 15, + 20, + 9, + 18, + 17, + 13, + 13, + 14, + 15, + 15, + 17, + 0, + 17, + 0, + 14, + 19, + 16, + 9, + 21, + 0, + 14, + 10, + 18, + 10, + 0, + 18, + 17, + 15, + 17, + 0, + 14, + 14, + 19, + 18, + 16, + 15, + 20, + 0, + 17, + 21, + 0, + 18, + 0, + 0, + 18, + 22, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 19, + 0, + 15, + 11, + 11, + 15, + 0, + 14, + 0, + 0, + 19, + 20, + 23, + 20, + 16, + 16, + 16, + 13, + 13, + 0, + 20, + 15, + 0, + 0, + 20, + 17, + 17, + 15, + 17, + 0, + 16, + 0, + 25, + 14, + 18, + 18, + 18, + 17, + 0, + 0, + 15, + 23, + 0, + 19, + 19, + 17, + 19, + 19, + 18, + 18, + 16, + 0, + 20, + 16, + 20, + 19, + 17, + 0, + 17, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 19, + 15, + 0, + 14, + 10, + 19, + 19, + 16, + 16, + 0, + 15, + 20, + 9, + 26, + 13, + 0, + 21, + 17, + 0, + 16, + 17, + 0, + 0, + 14, + 10, + 16, + 0, + 0, + 18, + 18, + 17, + 15, + 14, + 0, + 19, + 0, + 22, + 0, + 16, + 20, + 0, + 17, + 21, + 0, + 18, + 0, + 0, + 22, + 18, + 0, + 0, + 18, + 15, + 12, + 0, + 15, + 0, + 9, + 15, + 0, + 14, + 19, + 18, + 0, + 19, + 16, + 16, + 15, + 0, + 20, + 17, + 0, + 16, + 0, + 19, + 17, + 17, + 17, + 16, + 16, + 14, + 20, + 18, + 18, + 18, + 0, + 17, + 15, + 15, + 0, + 0, + 19, + 19, + 17, + 19, + 18, + 16, + 16, + 20, + 20, + 21, + 20, + 22, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 10, + 0, + 18, + 19, + 15, + 15, + 14, + 10, + 19, + 15, + 11, + 0, + 0, + 18, + 13, + 16, + 16, + 0, + 0, + 15, + 20, + 20, + 0, + 17, + 17, + 0, + 13, + 14, + 0, + 0, + 17, + 15, + 15, + 0, + 0, + 16, + 21, + 17, + 14, + 18, + 15, + 0, + 0, + 17, + 13, + 22, + 15, + 0, + 19, + 0, + 16, + 16, + 20, + 0, + 0, + 21, + 0, + 0, + 0, + 22, + 22, + 14, + 14, + 18, + 14, + 15, + 17, + 26, + 15, + 0, + 15, + 0, + 0, + 14, + 0, + 19, + 19, + 18, + 16, + 16, + 16, + 0, + 15, + 20, + 0, + 0, + 14, + 0, + 17, + 17, + 14, + 22, + 14, + 18, + 18, + 19, + 19, + 18, + 20, + 20, + 19, + 0, + 21, + 22, + 0, + 0, + 0, + 0, + 0, + 14, + 22, + 18, + 18, + 17, + 19, + 15, + 25, + 14, + 19, + 12, + 0, + 18, + 16, + 0, + 0, + 15, + 20, + 16, + 16, + 26, + 13, + 0, + 23, + 0, + 15, + 17, + 16, + 12, + 21, + 14, + 18, + 0, + 17, + 0, + 19, + 15, + 19, + 16, + 0, + 0, + 20, + 16, + 0, + 20, + 0, + 21, + 22, + 24, + 0, + 21, + 17, + 16, + 16, + 17, + 14, + 14, + 14, + 0, + 18, + 0, + 18, + 18, + 17, + 0, + 26, + 15, + 15, + 15, + 18, + 14, + 0, + 19, + 18, + 0, + 16, + 12, + 16, + 15, + 20, + 13, + 0, + 17, + 17, + 17, + 0, + 0, + 0, + 14, + 18, + 14, + 18, + 15, + 19, + 19, + 19, + 20, + 21, + 22, + 0, + 0, + 12, + 0, + 21, + 18, + 14, + 0, + 18, + 18, + 0, + 17, + 13, + 10, + 22, + 15, + 0, + 14, + 10, + 19, + 18, + 0, + 16, + 0, + 13, + 0, + 0, + 19, + 15, + 20, + 13, + 19, + 15, + 17, + 0, + 12, + 16, + 21, + 17, + 0, + 0, + 14, + 0, + 0, + 18, + 22, + 0, + 0, + 0, + 0, + 19, + 14, + 0, + 23, + 0, + 20, + 0, + 21, + 22, + 0, + 0, + 17, + 15, + 16, + 0, + 10, + 14, + 21, + 14, + 0, + 0, + 18, + 0, + 12, + 18, + 18, + 17, + 0, + 18, + 0, + 15, + 15, + 15, + 14, + 12, + 19, + 12, + 18, + 16, + 12, + 16, + 0, + 0, + 15, + 16, + 17, + 13, + 17, + 16, + 18, + 17, + 0, + 0, + 19, + 19, + 20, + 22, + 0, + 0, + 10, + 21, + 21, + 17, + 16, + 16, + 0, + 14, + 15, + 0, + 18, + 18, + 17, + 22, + 15, + 11, + 0, + 14, + 19, + 18, + 18, + 16, + 11, + 20, + 13, + 0, + 19, + 17, + 21, + 17, + 14, + 0, + 18, + 22, + 18, + 0, + 0, + 19, + 23, + 19, + 0, + 20, + 21, + 0, + 22, + 16, + 17, + 11, + 15, + 17, + 16, + 0, + 14, + 10, + 0, + 12, + 14, + 0, + 25, + 18, + 18, + 17, + 26, + 15, + 11, + 0, + 15, + 19, + 19, + 15, + 16, + 12, + 12, + 0, + 12, + 0, + 16, + 15, + 0, + 20, + 17, + 13, + 17, + 16, + 21, + 21, + 0, + 18, + 19, + 19, + 0, + 0, + 0, + 13, + 21, + 17, + 17, + 16, + 21, + 14, + 10, + 22, + 18, + 17, + 17, + 10, + 11, + 15, + 12, + 0, + 19, + 0, + 18, + 14, + 20, + 16, + 16, + 12, + 23, + 16, + 20, + 26, + 13, + 17, + 13, + 16, + 21, + 0, + 0, + 18, + 22, + 18, + 0, + 19, + 23, + 0, + 20, + 0, + 0, + 16, + 16, + 11, + 15, + 14, + 0, + 17, + 11, + 15, + 17, + 0, + 16, + 0, + 0, + 14, + 10, + 0, + 17, + 21, + 0, + 18, + 18, + 18, + 18, + 29, + 0, + 13, + 17, + 0, + 15, + 19, + 19, + 22, + 19, + 22, + 12, + 16, + 16, + 20, + 0, + 19, + 0, + 16, + 17, + 17, + 21, + 0, + 18, + 0, + 21, + 19, + 19, + 0, + 0, + 0, + 20, + 16, + 0, + 15, + 15, + 20, + 13, + 0, + 21, + 21, + 17, + 17, + 16, + 9, + 21, + 0, + 18, + 14, + 27, + 14, + 0, + 11, + 10, + 10, + 22, + 18, + 0, + 0, + 17, + 28, + 15, + 23, + 19, + 18, + 14, + 16, + 12, + 15, + 11, + 20, + 17, + 0, + 0, + 17, + 18, + 21, + 18, + 0, + 18, + 22, + 18, + 0, + 17, + 0, + 0, + 19, + 19, + 23, + 10, + 16, + 16, + 11, + 15, + 0, + 16, + 0, + 20, + 16, + 12, + 20, + 20, + 21, + 17, + 17, + 0, + 12, + 16, + 0, + 14, + 18, + 0, + 0, + 0, + 18, + 17, + 0, + 0, + 15, + 19, + 19, + 19, + 22, + 0, + 18, + 16, + 16, + 20, + 20, + 17, + 17, + 0, + 21, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 15, + 19, + 20, + 16, + 12, + 15, + 11, + 20, + 16, + 15, + 21, + 17, + 16, + 21, + 17, + 10, + 18, + 0, + 14, + 11, + 22, + 18, + 18, + 17, + 13, + 18, + 15, + 11, + 14, + 10, + 19, + 18, + 18, + 0, + 15, + 20, + 21, + 15, + 0, + 17, + 17, + 28, + 21, + 0, + 0, + 18, + 22, + 17, + 0, + 0, + 0, + 0, + 15, + 15, + 14, + 19, + 15, + 10, + 18, + 16, + 14, + 16, + 0, + 15, + 0, + 0, + 0, + 20, + 16, + 17, + 17, + 17, + 16, + 0, + 14, + 18, + 18, + 0, + 17, + 17, + 15, + 19, + 15, + 19, + 18, + 0, + 20, + 20, + 17, + 17, + 21, + 0, + 0, + 18, + 21, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 19, + 13, + 19, + 15, + 18, + 18, + 20, + 16, + 15, + 11, + 20, + 15, + 10, + 19, + 17, + 14, + 16, + 21, + 17, + 18, + 14, + 14, + 0, + 20, + 18, + 17, + 22, + 15, + 0, + 14, + 0, + 0, + 19, + 16, + 0, + 16, + 20, + 0, + 21, + 0, + 17, + 21, + 18, + 0, + 0, + 0, + 0, + 22, + 0, + 23, + 0, + 20, + 0, + 18, + 15, + 15, + 11, + 12, + 15, + 0, + 19, + 18, + 18, + 0, + 16, + 14, + 16, + 0, + 15, + 13, + 20, + 16, + 0, + 17, + 17, + 20, + 24, + 17, + 17, + 0, + 16, + 0, + 14, + 18, + 18, + 18, + 15, + 0, + 15, + 19, + 19, + 19, + 0, + 0, + 20, + 20, + 20, + 24, + 0, + 21, + 22, + 0, + 23, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 12, + 19, + 15, + 15, + 11, + 19, + 18, + 14, + 14, + 12, + 16, + 15, + 11, + 20, + 0, + 15, + 0, + 19, + 19, + 13, + 17, + 16, + 21, + 14, + 17, + 18, + 17, + 13, + 26, + 0, + 22, + 22, + 15, + 0, + 14, + 0, + 19, + 0, + 15, + 0, + 20, + 16, + 23, + 20, + 0, + 0, + 21, + 0, + 0, + 0, + 0, + 22, + 23, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 18, + 18, + 11, + 18, + 12, + 0, + 17, + 15, + 15, + 15, + 15, + 14, + 0, + 19, + 15, + 18, + 0, + 19, + 16, + 16, + 0, + 15, + 0, + 20, + 16, + 17, + 17, + 17, + 14, + 0, + 18, + 18, + 0, + 15, + 0, + 19, + 19, + 0, + 0, + 22, + 20, + 20, + 20, + 19, + 0, + 22, + 22, + 23, + 0, + 0, + 22, + 22, + 14, + 18, + 14, + 17, + 17, + 15, + 14, + 19, + 0, + 18, + 16, + 26, + 13, + 0, + 0, + 0, + 15, + 11, + 20, + 0, + 0, + 19, + 15, + 17, + 16, + 12, + 21, + 14, + 18, + 22, + 18, + 0, + 15, + 0, + 19, + 27, + 27, + 15, + 23, + 20, + 0, + 0, + 24, + 20, + 19, + 24, + 21, + 0, + 21, + 0, + 0, + 22, + 21, + 22, + 0, + 0, + 20, + 0, + 17, + 14, + 14, + 17, + 18, + 18, + 17, + 19, + 19, + 15, + 15, + 0, + 12, + 19, + 18, + 0, + 16, + 13, + 14, + 16, + 15, + 0, + 20, + 16, + 15, + 19, + 17, + 17, + 17, + 17, + 21, + 14, + 0, + 18, + 14, + 18, + 18, + 26, + 0, + 19, + 23, + 23, + 19, + 20, + 20, + 24, + 21, + 0, + 0, + 0, + 0, + 0, + 13, + 14, + 0, + 22, + 14, + 18, + 17, + 13, + 22, + 15, + 0, + 19, + 18, + 18, + 12, + 0, + 15, + 20, + 0, + 19, + 13, + 17, + 0, + 12, + 12, + 25, + 21, + 14, + 15, + 18, + 17, + 22, + 22, + 19, + 0, + 0, + 0, + 23, + 19, + 27, + 23, + 0, + 24, + 20, + 24, + 24, + 0, + 21, + 21, + 22, + 0, + 11, + 0, + 0, + 17, + 17, + 13, + 16, + 0, + 0, + 14, + 12, + 14, + 18, + 12, + 18, + 17, + 0, + 26, + 28, + 15, + 11, + 13, + 13, + 14, + 19, + 15, + 12, + 12, + 0, + 0, + 19, + 0, + 18, + 27, + 16, + 12, + 17, + 13, + 16, + 15, + 0, + 20, + 24, + 0, + 19, + 13, + 17, + 17, + 17, + 16, + 16, + 21, + 21, + 0, + 0, + 18, + 18, + 22, + 26, + 26, + 19, + 23, + 0, + 0, + 20, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 13, + 21, + 17, + 17, + 0, + 16, + 0, + 21, + 14, + 14, + 0, + 22, + 18, + 17, + 13, + 22, + 15, + 12, + 0, + 11, + 23, + 19, + 21, + 18, + 12, + 27, + 13, + 16, + 26, + 13, + 0, + 26, + 20, + 19, + 21, + 17, + 24, + 21, + 18, + 0, + 18, + 24, + 22, + 19, + 0, + 0, + 0, + 19, + 0, + 23, + 0, + 20, + 24, + 21, + 22, + 16, + 14, + 0, + 17, + 13, + 16, + 21, + 21, + 18, + 18, + 0, + 29, + 17, + 17, + 15, + 25, + 19, + 19, + 0, + 0, + 0, + 12, + 0, + 18, + 15, + 20, + 0, + 17, + 16, + 21, + 17, + 21, + 18, + 18, + 18, + 0, + 0, + 22, + 19, + 19, + 0, + 21, + 0, + 0, + 0, + 0, + 0, + 16, + 21, + 17, + 17, + 16, + 16, + 21, + 14, + 0, + 18, + 18, + 17, + 22, + 18, + 0, + 15, + 11, + 12, + 23, + 19, + 16, + 18, + 29, + 16, + 12, + 11, + 20, + 19, + 15, + 13, + 16, + 0, + 21, + 0, + 0, + 0, + 0, + 0, + 18, + 18, + 0, + 26, + 22, + 19, + 23, + 20, + 24, + 25, + 0, + 16, + 15, + 20, + 20, + 0, + 0, + 17, + 17, + 0, + 16, + 0, + 25, + 17, + 11, + 18, + 18, + 15, + 28, + 22, + 15, + 19, + 15, + 12, + 12, + 19, + 0, + 18, + 20, + 20, + 0, + 19, + 17, + 17, + 21, + 21, + 20, + 18, + 18, + 22, + 0, + 0, + 19, + 20, + 16, + 20, + 16, + 21, + 17, + 16, + 21, + 17, + 19, + 14, + 11, + 0, + 16, + 20, + 18, + 17, + 10, + 22, + 0, + 0, + 15, + 11, + 17, + 19, + 19, + 0, + 18, + 0, + 11, + 15, + 20, + 15, + 28, + 17, + 18, + 25, + 0, + 21, + 18, + 0, + 0, + 18, + 19, + 22, + 0, + 0, + 19, + 23, + 23, + 0, + 0, + 0, + 0, + 11, + 0, + 16, + 12, + 15, + 12, + 20, + 20, + 16, + 14, + 17, + 11, + 17, + 20, + 16, + 0, + 20, + 18, + 18, + 18, + 17, + 0, + 15, + 19, + 15, + 19, + 18, + 18, + 16, + 20, + 16, + 24, + 19, + 17, + 21, + 18, + 18, + 18, + 0, + 0, + 13, + 0, + 0, + 18, + 20, + 16, + 16, + 12, + 15, + 0, + 20, + 16, + 0, + 19, + 11, + 17, + 19, + 13, + 16, + 21, + 21, + 24, + 32, + 0, + 0, + 20, + 22, + 18, + 17, + 22, + 18, + 19, + 0, + 15, + 10, + 19, + 18, + 14, + 23, + 16, + 15, + 20, + 0, + 17, + 0, + 0, + 20, + 21, + 18, + 0, + 0, + 0, + 18, + 22, + 0, + 23, + 0, + 19, + 15, + 18, + 0, + 0, + 16, + 0, + 16, + 0, + 0, + 15, + 20, + 16, + 15, + 19, + 17, + 13, + 17, + 0, + 16, + 0, + 21, + 18, + 14, + 18, + 18, + 18, + 18, + 15, + 0, + 19, + 15, + 19, + 19, + 0, + 18, + 24, + 0, + 0, + 22, + 27, + 20, + 20, + 0, + 17, + 17, + 17, + 21, + 0, + 22, + 0, + 9, + 0, + 11, + 10, + 15, + 19, + 15, + 0, + 18, + 14, + 20, + 16, + 15, + 20, + 20, + 19, + 19, + 17, + 0, + 16, + 12, + 21, + 15, + 0, + 20, + 18, + 17, + 13, + 13, + 22, + 15, + 14, + 23, + 19, + 0, + 0, + 19, + 20, + 0, + 20, + 24, + 0, + 17, + 21, + 0, + 0, + 0, + 22, + 18, + 26, + 22, + 18, + 0, + 0, + 23, + 13, + 15, + 11, + 15, + 19, + 18, + 18, + 0, + 16, + 12, + 16, + 0, + 20, + 16, + 0, + 19, + 17, + 15, + 17, + 17, + 0, + 16, + 13, + 21, + 14, + 0, + 14, + 18, + 14, + 18, + 0, + 0, + 15, + 19, + 19, + 22, + 20, + 16, + 20, + 0, + 17, + 21, + 21, + 21, + 22, + 23, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 15, + 15, + 0, + 23, + 19, + 14, + 18, + 14, + 16, + 15, + 11, + 20, + 0, + 19, + 16, + 12, + 17, + 16, + 12, + 21, + 17, + 14, + 18, + 13, + 14, + 0, + 22, + 19, + 15, + 0, + 19, + 23, + 0, + 0, + 0, + 20, + 24, + 0, + 0, + 21, + 0, + 25, + 0, + 22, + 22, + 23, + 0, + 22, + 22, + 0, + 18, + 17, + 17, + 15, + 15, + 11, + 13, + 15, + 15, + 19, + 18, + 0, + 16, + 12, + 14, + 0, + 0, + 20, + 16, + 15, + 17, + 13, + 17, + 21, + 18, + 22, + 18, + 18, + 16, + 18, + 19, + 15, + 27, + 0, + 20, + 0, + 22, + 23, + 0, + 0, + 0, + 13, + 22, + 18, + 20, + 17, + 15, + 23, + 19, + 18, + 12, + 23, + 16, + 15, + 20, + 13, + 0, + 19, + 15, + 17, + 27, + 16, + 21, + 14, + 0, + 0, + 20, + 20, + 13, + 18, + 22, + 15, + 19, + 18, + 23, + 19, + 20, + 0, + 0, + 24, + 20, + 24, + 0, + 0, + 0, + 21, + 0, + 25, + 22, + 22, + 18, + 14, + 18, + 17, + 0, + 0, + 22, + 28, + 15, + 11, + 0, + 15, + 19, + 15, + 17, + 19, + 18, + 18, + 27, + 29, + 13, + 16, + 0, + 20, + 20, + 0, + 18, + 17, + 0, + 25, + 0, + 0, + 21, + 21, + 14, + 0, + 14, + 18, + 16, + 19, + 20, + 23, + 0, + 0, + 0, + 0, + 10, + 0, + 16, + 18, + 10, + 22, + 18, + 14, + 17, + 13, + 22, + 18, + 15, + 0, + 14, + 21, + 19, + 0, + 18, + 14, + 23, + 16, + 15, + 22, + 20, + 19, + 17, + 17, + 0, + 21, + 14, + 22, + 18, + 14, + 22, + 0, + 0, + 19, + 23, + 23, + 0, + 0, + 0, + 24, + 20, + 24, + 21, + 22, + 22, + 23, + 23, + 24, + 17, + 0, + 21, + 17, + 0, + 18, + 18, + 17, + 0, + 13, + 26, + 22, + 0, + 19, + 19, + 18, + 29, + 24, + 0, + 0, + 20, + 13, + 0, + 19, + 21, + 21, + 21, + 18, + 22, + 18, + 19, + 19, + 23, + 20, + 21, + 0, + 0, + 13, + 0, + 0, + 20, + 18, + 15, + 21, + 21, + 22, + 18, + 14, + 17, + 13, + 22, + 18, + 15, + 0, + 19, + 18, + 15, + 29, + 16, + 12, + 0, + 20, + 14, + 19, + 19, + 17, + 16, + 21, + 18, + 22, + 18, + 0, + 17, + 22, + 0, + 19, + 0, + 27, + 23, + 20, + 24, + 20, + 21, + 0, + 25, + 0, + 0, + 20, + 17, + 13, + 16, + 16, + 21, + 21, + 18, + 18, + 18, + 17, + 17, + 22, + 12, + 0, + 14, + 0, + 19, + 19, + 19, + 18, + 18, + 20, + 16, + 20, + 19, + 21, + 21, + 0, + 18, + 0, + 22, + 26, + 21, + 0, + 0, + 13, + 21, + 17, + 16, + 0, + 21, + 21, + 17, + 15, + 0, + 15, + 22, + 18, + 17, + 13, + 18, + 33, + 19, + 19, + 0, + 18, + 18, + 13, + 0, + 13, + 20, + 19, + 15, + 16, + 16, + 21, + 0, + 18, + 18, + 19, + 22, + 19, + 23, + 20, + 20, + 24, + 25, + 25, + 20, + 0, + 0, + 0, + 12, + 0, + 20, + 16, + 14, + 17, + 17, + 17, + 16, + 21, + 21, + 15, + 20, + 32, + 18, + 18, + 18, + 17, + 0, + 25, + 19, + 19, + 18, + 18, + 0, + 20, + 18, + 20, + 0, + 19, + 19, + 21, + 21, + 20, + 0, + 18, + 22, + 19, + 19, + 14, + 0, + 0, + 20, + 16, + 16, + 24, + 20, + 16, + 21, + 17, + 16, + 25, + 21, + 0, + 20, + 18, + 20, + 15, + 14, + 17, + 13, + 22, + 22, + 23, + 0, + 11, + 19, + 12, + 17, + 12, + 23, + 19, + 18, + 23, + 23, + 20, + 16, + 15, + 11, + 20, + 17, + 28, + 24, + 17, + 19, + 16, + 25, + 21, + 29, + 22, + 0, + 18, + 22, + 0, + 19, + 0, + 0, + 23, + 23, + 20, + 25, + 20, + 16, + 0, + 16, + 16, + 20, + 16, + 25, + 20, + 19, + 17, + 0, + 17, + 12, + 0, + 13, + 21, + 0, + 10, + 18, + 18, + 14, + 16, + 18, + 17, + 0, + 22, + 19, + 15, + 19, + 19, + 16, + 0, + 16, + 0, + 20, + 17, + 15, + 15, + 24, + 0, + 20, + 0, + 21, + 0, + 18, + 22, + 23, + 24, + 0, + 0, + 11, + 19, + 14, + 20, + 20, + 0, + 19, + 19, + 20, + 24, + 16, + 12, + 21, + 17, + 0, + 20, + 20, + 18, + 15, + 17, + 13, + 22, + 22, + 19, + 15, + 28, + 15, + 15, + 25, + 15, + 19, + 18, + 23, + 24, + 16, + 0, + 0, + 20, + 0, + 17, + 21, + 18, + 29, + 22, + 0, + 18, + 26, + 22, + 0, + 23, + 0, + 24, + 24, + 0, + 0, + 19, + 15, + 18, + 18, + 0, + 16, + 16, + 10, + 20, + 16, + 19, + 0, + 0, + 17, + 13, + 17, + 0, + 14, + 14, + 21, + 17, + 22, + 18, + 14, + 18, + 14, + 0, + 18, + 14, + 18, + 18, + 17, + 19, + 15, + 19, + 15, + 0, + 0, + 19, + 0, + 22, + 20, + 20, + 28, + 17, + 21, + 21, + 25, + 22, + 23, + 23, + 0, + 19, + 19, + 0, + 18, + 14, + 0, + 16, + 20, + 19, + 15, + 20, + 17, + 16, + 12, + 12, + 21, + 0, + 27, + 0, + 0, + 20, + 16, + 18, + 17, + 13, + 22, + 15, + 17, + 19, + 0, + 18, + 18, + 23, + 0, + 16, + 20, + 20, + 21, + 0, + 21, + 17, + 18, + 0, + 21, + 0, + 22, + 0, + 26, + 22, + 0, + 23, + 24, + 0, + 0, + 0, + 19, + 19, + 0, + 18, + 0, + 29, + 16, + 16, + 19, + 0, + 0, + 20, + 20, + 18, + 20, + 19, + 17, + 17, + 17, + 17, + 16, + 0, + 21, + 17, + 20, + 0, + 18, + 14, + 16, + 18, + 22, + 15, + 19, + 15, + 19, + 19, + 20, + 0, + 20, + 16, + 18, + 0, + 17, + 24, + 17, + 0, + 21, + 0, + 22, + 23, + 0, + 19, + 14, + 18, + 23, + 15, + 16, + 20, + 19, + 15, + 24, + 17, + 16, + 21, + 18, + 27, + 20, + 18, + 18, + 15, + 19, + 0, + 0, + 23, + 20, + 16, + 0, + 0, + 20, + 16, + 24, + 20, + 0, + 0, + 0, + 0, + 21, + 29, + 0, + 25, + 0, + 0, + 22, + 26, + 0, + 23, + 0, + 22, + 0, + 0, + 0, + 18, + 18, + 17, + 22, + 0, + 13, + 15, + 19, + 15, + 19, + 0, + 18, + 0, + 16, + 0, + 0, + 16, + 19, + 20, + 20, + 19, + 0, + 17, + 17, + 17, + 15, + 17, + 17, + 0, + 21, + 14, + 14, + 18, + 22, + 0, + 19, + 15, + 19, + 15, + 15, + 18, + 23, + 0, + 22, + 20, + 20, + 24, + 0, + 0, + 23, + 0, + 0, + 0, + 17, + 10, + 14, + 18, + 18, + 15, + 0, + 19, + 17, + 18, + 23, + 16, + 20, + 19, + 15, + 17, + 27, + 14, + 23, + 21, + 14, + 0, + 20, + 14, + 18, + 0, + 25, + 18, + 22, + 15, + 19, + 15, + 0, + 14, + 18, + 23, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 20, + 24, + 0, + 19, + 0, + 21, + 0, + 25, + 22, + 0, + 23, + 22, + 0, + 0, + 0, + 18, + 14, + 17, + 13, + 19, + 15, + 18, + 0, + 20, + 20, + 19, + 0, + 21, + 21, + 24, + 24, + 16, + 14, + 14, + 22, + 19, + 15, + 19, + 22, + 20, + 20, + 21, + 21, + 22, + 0, + 0, + 0, + 21, + 22, + 18, + 0, + 18, + 17, + 17, + 22, + 18, + 15, + 19, + 18, + 14, + 11, + 23, + 16, + 16, + 20, + 19, + 15, + 30, + 17, + 0, + 21, + 20, + 16, + 0, + 26, + 0, + 0, + 22, + 15, + 0, + 0, + 23, + 19, + 20, + 0, + 0, + 20, + 0, + 24, + 20, + 21, + 25, + 22, + 0, + 22, + 0, + 0, + 0, + 17, + 21, + 15, + 18, + 12, + 18, + 17, + 0, + 22, + 18, + 19, + 19, + 19, + 22, + 18, + 20, + 13, + 0, + 18, + 20, + 0, + 19, + 0, + 21, + 17, + 21, + 21, + 18, + 22, + 18, + 22, + 18, + 19, + 19, + 23, + 20, + 20, + 20, + 24, + 0, + 0, + 0, + 10, + 0, + 0, + 16, + 13, + 0, + 0, + 21, + 22, + 18, + 18, + 18, + 0, + 17, + 17, + 22, + 22, + 0, + 14, + 14, + 19, + 17, + 16, + 18, + 14, + 23, + 19, + 15, + 29, + 29, + 12, + 0, + 20, + 0, + 0, + 19, + 15, + 21, + 18, + 20, + 26, + 22, + 19, + 0, + 23, + 20, + 20, + 0, + 0, + 24, + 20, + 21, + 25, + 21, + 22, + 0, + 11, + 20, + 0, + 17, + 17, + 13, + 21, + 21, + 20, + 0, + 18, + 14, + 18, + 18, + 0, + 17, + 17, + 0, + 22, + 26, + 19, + 19, + 0, + 14, + 18, + 23, + 0, + 20, + 20, + 0, + 19, + 17, + 21, + 17, + 21, + 18, + 0, + 22, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 15, + 0, + 21, + 13, + 21, + 17, + 17, + 13, + 20, + 18, + 15, + 17, + 17, + 22, + 25, + 21, + 33, + 0, + 21, + 23, + 19, + 18, + 14, + 23, + 23, + 19, + 20, + 26, + 13, + 20, + 26, + 19, + 15, + 16, + 21, + 17, + 18, + 21, + 18, + 22, + 27, + 19, + 23, + 0, + 20, + 0, + 24, + 20, + 21, + 25, + 0, + 14, + 20, + 17, + 13, + 17, + 0, + 16, + 21, + 17, + 18, + 16, + 11, + 0, + 20, + 20, + 18, + 22, + 16, + 0, + 17, + 0, + 22, + 17, + 19, + 11, + 19, + 17, + 19, + 0, + 18, + 0, + 16, + 20, + 16, + 20, + 16, + 19, + 17, + 21, + 21, + 22, + 22, + 12, + 0, + 16, + 0, + 20, + 0, + 21, + 17, + 17, + 12, + 21, + 0, + 20, + 16, + 18, + 17, + 17, + 22, + 33, + 12, + 23, + 19, + 18, + 23, + 19, + 16, + 20, + 19, + 17, + 17, + 16, + 25, + 21, + 0, + 26, + 0, + 22, + 18, + 22, + 23, + 23, + 19, + 24, + 24, + 20, + 0, + 25, + 0, + 20, + 16, + 12, + 11, + 19, + 17, + 13, + 17, + 16, + 21, + 17, + 13, + 0, + 18, + 0, + 20, + 20, + 0, + 0, + 32, + 18, + 14, + 22, + 16, + 0, + 0, + 22, + 0, + 19, + 19, + 19, + 19, + 16, + 20, + 0, + 20, + 0, + 0, + 21, + 21, + 18, + 22, + 22, + 23, + 0, + 0, + 20, + 16, + 0, + 19, + 24, + 17, + 0, + 21, + 20, + 16, + 18, + 15, + 0, + 17, + 22, + 22, + 18, + 17, + 16, + 33, + 0, + 19, + 19, + 18, + 23, + 19, + 16, + 0, + 15, + 20, + 0, + 24, + 0, + 30, + 21, + 29, + 25, + 22, + 18, + 0, + 24, + 26, + 22, + 17, + 0, + 23, + 0, + 0, + 24, + 21, + 19, + 16, + 20, + 16, + 21, + 19, + 19, + 30, + 17, + 17, + 17, + 0, + 14, + 21, + 21, + 14, + 0, + 20, + 0, + 25, + 32, + 18, + 14, + 18, + 0, + 14, + 18, + 19, + 15, + 15, + 0, + 19, + 17, + 19, + 16, + 20, + 16, + 0, + 21, + 17, + 21, + 25, + 0, + 0, + 0, + 23, + 24, + 0, + 0, + 18, + 24, + 25, + 16, + 0, + 20, + 20, + 27, + 0, + 19, + 30, + 17, + 21, + 20, + 20, + 16, + 18, + 17, + 22, + 18, + 15, + 21, + 17, + 19, + 23, + 19, + 16, + 16, + 20, + 16, + 16, + 24, + 20, + 0, + 17, + 21, + 17, + 29, + 0, + 25, + 22, + 0, + 26, + 22, + 22, + 26, + 0, + 23, + 27, + 0, + 19, + 0, + 16, + 0, + 20, + 19, + 0, + 0, + 17, + 17, + 0, + 21, + 21, + 20, + 20, + 0, + 16, + 14, + 0, + 22, + 0, + 15, + 19, + 19, + 16, + 20, + 0, + 0, + 17, + 25, + 0, + 0, + 29, + 0, + 22, + 0, + 19, + 19, + 15, + 18, + 0, + 23, + 19, + 16, + 16, + 20, + 19, + 15, + 0, + 24, + 17, + 0, + 16, + 21, + 20, + 27, + 0, + 20, + 16, + 18, + 18, + 22, + 28, + 15, + 21, + 14, + 14, + 19, + 0, + 23, + 20, + 16, + 20, + 24, + 16, + 21, + 0, + 21, + 17, + 0, + 25, + 21, + 0, + 26, + 0, + 0, + 22, + 26, + 23, + 27, + 24, + 0, + 18, + 19, + 15, + 13, + 22, + 18, + 18, + 16, + 20, + 17, + 20, + 20, + 31, + 0, + 15, + 19, + 21, + 21, + 21, + 17, + 21, + 20, + 18, + 19, + 15, + 18, + 23, + 0, + 0, + 22, + 20, + 22, + 22, + 9, + 23, + 0, + 19, + 15, + 0, + 18, + 14, + 15, + 11, + 23, + 29, + 16, + 16, + 20, + 0, + 0, + 15, + 19, + 28, + 24, + 12, + 26, + 17, + 21, + 20, + 16, + 18, + 14, + 18, + 18, + 19, + 16, + 0, + 17, + 0, + 18, + 26, + 0, + 23, + 16, + 31, + 20, + 16, + 24, + 20, + 0, + 21, + 25, + 25, + 22, + 0, + 26, + 0, + 24, + 0, + 0, + 18, + 22, + 18, + 12, + 21, + 19, + 15, + 24, + 15, + 15, + 22, + 18, + 18, + 0, + 23, + 18, + 12, + 20, + 16, + 18, + 20, + 20, + 19, + 19, + 21, + 21, + 21, + 17, + 17, + 17, + 18, + 0, + 29, + 25, + 22, + 18, + 22, + 30, + 0, + 15, + 30, + 0, + 23, + 19, + 20, + 21, + 22, + 0, + 0, + 0, + 0, + 10, + 22, + 0, + 0, + 22, + 21, + 19, + 19, + 0, + 18, + 18, + 0, + 15, + 23, + 23, + 20, + 16, + 17, + 34, + 22, + 20, + 19, + 20, + 16, + 0, + 13, + 23, + 17, + 21, + 18, + 0, + 0, + 20, + 20, + 21, + 17, + 17, + 22, + 19, + 21, + 0, + 23, + 31, + 31, + 0, + 20, + 0, + 22, + 0, + 24, + 24, + 21, + 0, + 25, + 21, + 22, + 0, + 26, + 23, + 0, + 22, + 18, + 18, + 18, + 17, + 22, + 22, + 18, + 0, + 21, + 19, + 15, + 19, + 19, + 18, + 0, + 19, + 14, + 20, + 16, + 20, + 20, + 15, + 17, + 20, + 21, + 17, + 21, + 0, + 18, + 0, + 22, + 20, + 22, + 30, + 0, + 23, + 0, + 21, + 22, + 0, + 0, + 0, + 0, + 22, + 18, + 0, + 18, + 33, + 22, + 23, + 33, + 14, + 21, + 16, + 19, + 18, + 18, + 23, + 19, + 20, + 19, + 12, + 24, + 21, + 17, + 15, + 21, + 14, + 20, + 25, + 17, + 13, + 22, + 19, + 19, + 23, + 31, + 20, + 24, + 24, + 21, + 25, + 22, + 26, + 22, + 0, + 17, + 32, + 21, + 15, + 20, + 18, + 18, + 14, + 24, + 0, + 25, + 18, + 0, + 17, + 14, + 22, + 18, + 12, + 21, + 19, + 15, + 17, + 19, + 0, + 18, + 23, + 20, + 16, + 20, + 20, + 24, + 21, + 17, + 21, + 18, + 22, + 22, + 23, + 22, + 22, + 19, + 23, + 0, + 0, + 0, + 0, + 10, + 0, + 19, + 21, + 17, + 25, + 21, + 17, + 20, + 22, + 18, + 18, + 0, + 17, + 14, + 22, + 18, + 0, + 21, + 19, + 17, + 18, + 18, + 23, + 23, + 20, + 29, + 26, + 0, + 0, + 24, + 20, + 19, + 19, + 24, + 20, + 17, + 16, + 12, + 21, + 18, + 0, + 20, + 17, + 0, + 22, + 26, + 19, + 23, + 20, + 24, + 24, + 25, + 26, + 0, + 18, + 0, + 20, + 16, + 21, + 19, + 0, + 0, + 17, + 21, + 17, + 22, + 20, + 0, + 25, + 18, + 18, + 18, + 17, + 0, + 22, + 14, + 15, + 17, + 19, + 19, + 19, + 0, + 23, + 0, + 20, + 16, + 18, + 20, + 17, + 21, + 17, + 22, + 21, + 18, + 19, + 0, + 0, + 0, + 21, + 19, + 26, + 17, + 21, + 17, + 12, + 20, + 16, + 18, + 17, + 24, + 22, + 18, + 0, + 21, + 17, + 19, + 18, + 23, + 20, + 20, + 16, + 24, + 24, + 17, + 17, + 21, + 25, + 18, + 22, + 23, + 0, + 26, + 22, + 0, + 23, + 19, + 27, + 23, + 19, + 25, + 0, + 24, + 0, + 0, + 24, + 25, + 0, + 0, + 12, + 0, + 20, + 16, + 15, + 17, + 17, + 21, + 21, + 19, + 21, + 20, + 25, + 18, + 18, + 0, + 16, + 18, + 22, + 22, + 19, + 0, + 15, + 15, + 19, + 22, + 23, + 16, + 20, + 16, + 21, + 0, + 17, + 17, + 21, + 21, + 18, + 0, + 22, + 23, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 24, + 16, + 24, + 20, + 19, + 0, + 20, + 17, + 13, + 21, + 17, + 20, + 16, + 17, + 25, + 18, + 17, + 22, + 21, + 17, + 19, + 29, + 0, + 23, + 19, + 20, + 16, + 0, + 22, + 20, + 30, + 24, + 17, + 21, + 18, + 29, + 0, + 25, + 21, + 0, + 18, + 26, + 22, + 26, + 0, + 23, + 19, + 27, + 0, + 0, + 0, + 24, + 28, + 25, + 0, + 14, + 19, + 20, + 16, + 18, + 15, + 19, + 17, + 17, + 15, + 17, + 21, + 24, + 20, + 20, + 0, + 0, + 18, + 18, + 22, + 18, + 21, + 19, + 19, + 15, + 19, + 0, + 23, + 0, + 18, + 0, + 20, + 24, + 28, + 17, + 0, + 21, + 0, + 22, + 0, + 23, + 24, + 0, + 0, + 17, + 0, + 15, + 24, + 20, + 16, + 18, + 19, + 15, + 24, + 24, + 17, + 17, + 19, + 21, + 0, + 20, + 20, + 17, + 18, + 18, + 14, + 17, + 22, + 21, + 21, + 19, + 23, + 16, + 26, + 22, + 22, + 20, + 16, + 24, + 20, + 21, + 30, + 17, + 21, + 0, + 25, + 22, + 0, + 0, + 0, + 22, + 22, + 26, + 22, + 0, + 23, + 23, + 0, + 27, + 23, + 24, + 28, + 32, + 0, + 0, + 0, + 0, + 0, + 14, + 22, + 0, + 0, + 19, + 19, + 20, + 16, + 20, + 20, + 19, + 19, + 17, + 21, + 17, + 0, + 20, + 0, + 22, + 18, + 23, + 23, + 16, + 16, + 16, + 20, + 0, + 0, + 24, + 0, + 0, + 21, + 23, + 27, + 0, + 0, + 9, + 0, + 23, + 19, + 23, + 19, + 16, + 20, + 16, + 27, + 19, + 15, + 24, + 30, + 18, + 0, + 0, + 21, + 20, + 16, + 18, + 22, + 0, + 21, + 17, + 15, + 23, + 16, + 0, + 0, + 20, + 15, + 27, + 24, + 20, + 21, + 0, + 0, + 21, + 21, + 0, + 25, + 22, + 26, + 22, + 23, + 27, + 23, + 0, + 24, + 0, + 0, + 0, + 23, + 0, + 19, + 26, + 0, + 18, + 26, + 23, + 15, + 0, + 17, + 0, + 15, + 20, + 20, + 25, + 20, + 22, + 18, + 22, + 23, + 23, + 24, + 21, + 22, + 0, + 11, + 23, + 15, + 28, + 19, + 14, + 23, + 19, + 26, + 34, + 24, + 20, + 21, + 19, + 15, + 14, + 20, + 25, + 14, + 19, + 21, + 20, + 16, + 0, + 24, + 0, + 24, + 20, + 22, + 0, + 21, + 19, + 19, + 23, + 31, + 24, + 33, + 28, + 24, + 20, + 21, + 23, + 25, + 0, + 22, + 0, + 26, + 23, + 0, + 27, + 24, + 28, + 18, + 0, + 22, + 19, + 15, + 27, + 23, + 31, + 23, + 19, + 24, + 12, + 20, + 20, + 18, + 20, + 19, + 19, + 24, + 25, + 19, + 22, + 21, + 23, + 0, + 0, + 21, + 21, + 0, + 16, + 18, + 18, + 22, + 0, + 19, + 23, + 23, + 0, + 0, + 22, + 22, + 22, + 22, + 26, + 0, + 23, + 19, + 0, + 15, + 23, + 22, + 23, + 20, + 19, + 15, + 20, + 24, + 24, + 0, + 21, + 19, + 21, + 20, + 20, + 22, + 19, + 21, + 0, + 26, + 18, + 23, + 31, + 0, + 20, + 24, + 20, + 0, + 21, + 0, + 25, + 21, + 22, + 26, + 22, + 27, + 0, + 0, + 21, + 25, + 15, + 22, + 18, + 29, + 21, + 19, + 19, + 17, + 19, + 18, + 0, + 15, + 23, + 18, + 20, + 20, + 20, + 18, + 20, + 0, + 0, + 19, + 20, + 35, + 21, + 21, + 21, + 25, + 22, + 22, + 0, + 22, + 24, + 21, + 10, + 22, + 18, + 22, + 27, + 14, + 22, + 18, + 21, + 22, + 19, + 18, + 18, + 23, + 22, + 16, + 20, + 16, + 19, + 12, + 24, + 16, + 23, + 21, + 18, + 20, + 25, + 20, + 18, + 14, + 0, + 17, + 22, + 19, + 19, + 23, + 19, + 0, + 27, + 24, + 24, + 25, + 21, + 0, + 22, + 26, + 21, + 20, + 31, + 18, + 14, + 16, + 22, + 18, + 17, + 0, + 19, + 19, + 17, + 0, + 23, + 19, + 13, + 22, + 20, + 20, + 26, + 18, + 20, + 20, + 0, + 13, + 0, + 21, + 19, + 21, + 0, + 22, + 18, + 22, + 22, + 23, + 23, + 21, + 0, + 0, + 0, + 0, + 15, + 0, + 21, + 20, + 25, + 20, + 18, + 14, + 12, + 22, + 18, + 21, + 15, + 19, + 15, + 13, + 0, + 18, + 23, + 19, + 20, + 34, + 13, + 22, + 22, + 20, + 19, + 24, + 24, + 20, + 17, + 17, + 16, + 21, + 0, + 25, + 25, + 17, + 0, + 22, + 18, + 26, + 22, + 19, + 21, + 19, + 0, + 23, + 19, + 27, + 23, + 24, + 24, + 20, + 0, + 28, + 0, + 25, + 21, + 0, + 0, + 29, + 26, + 0, + 18, + 15, + 20, + 21, + 11, + 21, + 20, + 0, + 31, + 18, + 18, + 25, + 22, + 18, + 12, + 22, + 17, + 19, + 19, + 19, + 23, + 23, + 0, + 33, + 20, + 20, + 0, + 17, + 17, + 17, + 21, + 22, + 0, + 24, + 23, + 24, + 0, + 26, + 0, + 0, + 0, + 13, + 23, + 19, + 17, + 21, + 17, + 22, + 20, + 16, + 21, + 21, + 17, + 18, + 22, + 18, + 21, + 17, + 19, + 19, + 21, + 26, + 0, + 23, + 19, + 22, + 18, + 20, + 20, + 17, + 0, + 24, + 17, + 21, + 21, + 0, + 16, + 25, + 18, + 18, + 22, + 18, + 26, + 22, + 0, + 23, + 27, + 23, + 24, + 24, + 20, + 0, + 28, + 24, + 0, + 0, + 0, + 29, + 26, + 0, + 0, + 20, + 19, + 30, + 25, + 34, + 21, + 17, + 22, + 21, + 20, + 0, + 18, + 22, + 18, + 19, + 22, + 21, + 21, + 19, + 23, + 23, + 16, + 20, + 20, + 30, + 17, + 21, + 18, + 0, + 24, + 0, + 14, + 10, + 0, + 24, + 24, + 0, + 27, + 19, + 24, + 20, + 21, + 17, + 20, + 20, + 16, + 25, + 25, + 18, + 22, + 18, + 21, + 17, + 19, + 23, + 19, + 16, + 26, + 34, + 0, + 22, + 18, + 20, + 16, + 24, + 24, + 17, + 17, + 21, + 25, + 25, + 18, + 18, + 0, + 22, + 19, + 17, + 19, + 26, + 0, + 0, + 23, + 27, + 23, + 0, + 0, + 24, + 28, + 28, + 25, + 29, + 25, + 0, + 0, + 0, + 0, + 20, + 20, + 16, + 0, + 19, + 21, + 17, + 15, + 17, + 20, + 22, + 18, + 22, + 21, + 0, + 23, + 19, + 16, + 17, + 0, + 26, + 0, + 0, + 23, + 18, + 22, + 0, + 27, + 28, + 24, + 24, + 29, + 20, + 19, + 12, + 24, + 20, + 30, + 17, + 0, + 20, + 21, + 21, + 20, + 20, + 25, + 0, + 0, + 27, + 18, + 22, + 21, + 0, + 32, + 19, + 23, + 16, + 22, + 18, + 24, + 15, + 24, + 20, + 17, + 21, + 25, + 25, + 25, + 21, + 0, + 0, + 22, + 26, + 26, + 0, + 23, + 27, + 24, + 0, + 28, + 24, + 25, + 19, + 23, + 20, + 20, + 16, + 19, + 19, + 0, + 21, + 21, + 21, + 19, + 24, + 0, + 20, + 26, + 22, + 0, + 20, + 22, + 0, + 23, + 19, + 24, + 27, + 25, + 26, + 23, + 0, + 0, + 0, + 0, + 0, + 23, + 19, + 16, + 0, + 29, + 20, + 22, + 21, + 19, + 15, + 24, + 20, + 17, + 23, + 17, + 21, + 20, + 16, + 13, + 27, + 22, + 18, + 0, + 21, + 23, + 23, + 16, + 0, + 20, + 19, + 24, + 21, + 25, + 21, + 22, + 24, + 26, + 22, + 23, + 0, + 27, + 23, + 24, + 0, + 0, + 0, + 19, + 15, + 23, + 20, + 16, + 25, + 16, + 19, + 24, + 24, + 20, + 21, + 17, + 19, + 21, + 17, + 20, + 22, + 22, + 15, + 20, + 22, + 19, + 0, + 23, + 19, + 24, + 23, + 22, + 24, + 0, + 0, + 0, + 13, + 26, + 23, + 19, + 23, + 19, + 24, + 13, + 22, + 18, + 20, + 20, + 27, + 14, + 0, + 19, + 15, + 20, + 24, + 24, + 14, + 14, + 21, + 20, + 16, + 25, + 21, + 22, + 22, + 21, + 17, + 23, + 19, + 20, + 0, + 24, + 20, + 23, + 0, + 25, + 22, + 26, + 22, + 23, + 27, + 28, + 0, + 0, + 22, + 18, + 23, + 23, + 19, + 15, + 18, + 26, + 13, + 23, + 19, + 19, + 18, + 13, + 33, + 33, + 20, + 16, + 18, + 20, + 23, + 19, + 16, + 19, + 25, + 21, + 0, + 21, + 21, + 21, + 28, + 0, + 22, + 18, + 0, + 23, + 19, + 21, + 0, + 19, + 20, + 0, + 25, + 0, + 0, + 21, + 0, + 11, + 22, + 28, + 19, + 0, + 15, + 23, + 19, + 24, + 15, + 22, + 24, + 20, + 16, + 0, + 19, + 24, + 20, + 23, + 19, + 21, + 20, + 21, + 13, + 21, + 21, + 14, + 18, + 14, + 22, + 22, + 15, + 23, + 27, + 20, + 28, + 24, + 24, + 25, + 25, + 26, + 22, + 27, + 0, + 21, + 22, + 18, + 21, + 0, + 19, + 15, + 23, + 23, + 23, + 17, + 13, + 22, + 33, + 20, + 18, + 20, + 23, + 16, + 24, + 19, + 18, + 13, + 21, + 21, + 19, + 22, + 22, + 22, + 0, + 19, + 21, + 26, + 24, + 20, + 24, + 25, + 25, + 21, + 0, + 20, + 14, + 0, + 22, + 18, + 26, + 0, + 23, + 21, + 17, + 19, + 15, + 20, + 18, + 23, + 19, + 15, + 22, + 18, + 20, + 0, + 19, + 20, + 24, + 20, + 23, + 17, + 21, + 20, + 16, + 21, + 26, + 18, + 17, + 13, + 22, + 26, + 22, + 23, + 19, + 19, + 27, + 20, + 24, + 24, + 0, + 28, + 25, + 0, + 29, + 24, + 26, + 26, + 0, + 27, + 0, + 27, + 10, + 21, + 21, + 12, + 25, + 14, + 22, + 18, + 22, + 21, + 21, + 19, + 15, + 15, + 23, + 19, + 26, + 18, + 22, + 20, + 0, + 20, + 19, + 21, + 22, + 31, + 18, + 22, + 23, + 0, + 24, + 24, + 21, + 0, + 27, + 0, + 0, + 25, + 21, + 24, + 18, + 22, + 0, + 0, + 21, + 22, + 32, + 19, + 23, + 23, + 34, + 22, + 18, + 20, + 20, + 24, + 20, + 21, + 19, + 23, + 30, + 17, + 19, + 21, + 0, + 25, + 21, + 26, + 18, + 22, + 26, + 18, + 19, + 23, + 23, + 27, + 23, + 33, + 20, + 24, + 20, + 28, + 28, + 25, + 0, + 0, + 29, + 25, + 0, + 26, + 30, + 0, + 27, + 0, + 10, + 13, + 21, + 21, + 17, + 16, + 0, + 22, + 14, + 22, + 0, + 21, + 19, + 17, + 15, + 23, + 19, + 19, + 18, + 22, + 20, + 0, + 24, + 17, + 17, + 0, + 17, + 25, + 26, + 22, + 18, + 24, + 19, + 23, + 0, + 20, + 0, + 0, + 0, + 0, + 21, + 0, + 20, + 21, + 18, + 14, + 22, + 18, + 32, + 0, + 21, + 21, + 14, + 19, + 19, + 0, + 18, + 23, + 23, + 22, + 22, + 20, + 16, + 24, + 20, + 17, + 23, + 21, + 21, + 32, + 28, + 0, + 25, + 21, + 18, + 0, + 0, + 17, + 0, + 21, + 22, + 18, + 26, + 0, + 23, + 23, + 27, + 0, + 0, + 24, + 20, + 30, + 28, + 24, + 25, + 0, + 29, + 25, + 0, + 12, + 21, + 21, + 31, + 20, + 22, + 22, + 22, + 18, + 23, + 19, + 22, + 21, + 37, + 15, + 0, + 23, + 19, + 21, + 18, + 22, + 16, + 0, + 24, + 16, + 25, + 17, + 0, + 20, + 25, + 0, + 0, + 0, + 0, + 29, + 27, + 28, + 0, + 12, + 24, + 26, + 17, + 31, + 25, + 21, + 0, + 21, + 21, + 0, + 20, + 17, + 13, + 25, + 31, + 17, + 22, + 21, + 17, + 26, + 26, + 22, + 19, + 17, + 23, + 19, + 0, + 22, + 18, + 33, + 20, + 24, + 20, + 17, + 0, + 0, + 23, + 16, + 25, + 21, + 18, + 22, + 18, + 26, + 23, + 0, + 27, + 27, + 24, + 24, + 28, + 24, + 0, + 0, + 29, + 29, + 25, + 20, + 16, + 0, + 0, + 24, + 19, + 0, + 34, + 21, + 17, + 19, + 21, + 20, + 20, + 25, + 23, + 33, + 22, + 22, + 20, + 22, + 22, + 17, + 21, + 23, + 23, + 21, + 23, + 17, + 27, + 16, + 24, + 20, + 17, + 17, + 17, + 20, + 25, + 21, + 0, + 26, + 26, + 27, + 0, + 0, + 24, + 25, + 21, + 24, + 25, + 21, + 21, + 17, + 0, + 20, + 25, + 21, + 19, + 22, + 32, + 0, + 32, + 0, + 23, + 0, + 22, + 18, + 23, + 15, + 20, + 24, + 17, + 21, + 25, + 21, + 26, + 22, + 22, + 26, + 22, + 23, + 0, + 27, + 28, + 24, + 28, + 0, + 29, + 20, + 31, + 0, + 23, + 33, + 20, + 16, + 0, + 24, + 18, + 34, + 21, + 17, + 21, + 21, + 16, + 20, + 21, + 0, + 22, + 18, + 15, + 22, + 25, + 21, + 19, + 19, + 21, + 0, + 23, + 26, + 20, + 19, + 19, + 0, + 24, + 24, + 25, + 26, + 23, + 23, + 14, + 19, + 15, + 30, + 27, + 24, + 20, + 24, + 0, + 29, + 20, + 19, + 16, + 24, + 23, + 17, + 21, + 21, + 17, + 20, + 25, + 25, + 24, + 26, + 35, + 22, + 22, + 21, + 17, + 26, + 23, + 19, + 24, + 20, + 25, + 22, + 0, + 24, + 26, + 0, + 27, + 24, + 28, + 28, + 0, + 0, + 15, + 28, + 15, + 23, + 23, + 17, + 13, + 22, + 33, + 20, + 20, + 18, + 24, + 24, + 20, + 13, + 18, + 24, + 14, + 21, + 21, + 21, + 21, + 20, + 26, + 22, + 22, + 18, + 22, + 21, + 0, + 23, + 23, + 23, + 26, + 24, + 24, + 21, + 25, + 21, + 23, + 0, + 16, + 10, + 17, + 17, + 22, + 15, + 20, + 0, + 23, + 14, + 33, + 20, + 16, + 37, + 24, + 20, + 23, + 17, + 21, + 17, + 17, + 20, + 25, + 21, + 24, + 22, + 21, + 14, + 26, + 23, + 19, + 0, + 24, + 20, + 21, + 0, + 28, + 25, + 25, + 22, + 0, + 23, + 0, + 26, + 27, + 23, + 0, + 24, + 24, + 17, + 22, + 18, + 0, + 23, + 19, + 19, + 0, + 20, + 20, + 21, + 19, + 24, + 20, + 21, + 14, + 23, + 21, + 17, + 27, + 21, + 28, + 0, + 22, + 18, + 22, + 25, + 19, + 18, + 24, + 19, + 24, + 24, + 21, + 25, + 0, + 0, + 0, + 0, + 22, + 18, + 26, + 19, + 15, + 27, + 23, + 19, + 19, + 22, + 27, + 0, + 0, + 20, + 16, + 29, + 24, + 20, + 20, + 14, + 23, + 19, + 29, + 0, + 34, + 21, + 17, + 19, + 0, + 16, + 25, + 21, + 22, + 20, + 22, + 18, + 26, + 22, + 23, + 19, + 27, + 24, + 0, + 28, + 25, + 21, + 29, + 0, + 26, + 22, + 27, + 22, + 19, + 26, + 19, + 36, + 23, + 23, + 24, + 17, + 21, + 13, + 14, + 33, + 20, + 38, + 32, + 24, + 20, + 27, + 23, + 21, + 21, + 21, + 21, + 25, + 18, + 24, + 22, + 19, + 0, + 0, + 25, + 0, + 16, + 0, + 13, + 16, + 14, + 22, + 0, + 19, + 20, + 16, + 0, + 23, + 23, + 24, + 0, + 22, + 20, + 20, + 0, + 0, + 37, + 24, + 24, + 26, + 0, + 0, + 19, + 21, + 21, + 0, + 25, + 18, + 22, + 18, + 17, + 0, + 0, + 26, + 27, + 19, + 0, + 0, + 0, + 23, + 19, + 27, + 23, + 20, + 0, + 24, + 20, + 20, + 28, + 24, + 21, + 25, + 0, + 29, + 26, + 30, + 26, + 0, + 27, + 28, + 0, + 14, + 35, + 22, + 22, + 16, + 13, + 0, + 0, + 23, + 19, + 16, + 23, + 0, + 22, + 0, + 18, + 16, + 24, + 24, + 24, + 23, + 22, + 32, + 19, + 19, + 19, + 20, + 0, + 0, + 21, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 22, + 0, + 0, + 21, + 22, + 32, + 19, + 23, + 0, + 22, + 18, + 0, + 20, + 20, + 24, + 17, + 17, + 31, + 23, + 17, + 21, + 21, + 25, + 21, + 26, + 18, + 24, + 0, + 22, + 21, + 23, + 26, + 22, + 27, + 19, + 0, + 36, + 23, + 27, + 23, + 0, + 0, + 24, + 20, + 0, + 28, + 0, + 25, + 21, + 29, + 26, + 30, + 0, + 0, + 0, + 21, + 0, + 17, + 25, + 22, + 18, + 22, + 0, + 21, + 21, + 15, + 23, + 23, + 0, + 26, + 22, + 24, + 20, + 0, + 17, + 0, + 17, + 29, + 0, + 32, + 28, + 26, + 22, + 18, + 21, + 22, + 0, + 24, + 26, + 23, + 27, + 0, + 27, + 24, + 28, + 0, + 13, + 0, + 14, + 0, + 25, + 21, + 18, + 32, + 20, + 22, + 18, + 21, + 21, + 17, + 26, + 26, + 22, + 19, + 20, + 20, + 23, + 22, + 0, + 0, + 26, + 18, + 17, + 26, + 26, + 36, + 0, + 27, + 23, + 24, + 28, + 0, + 25, + 0, + 29, + 25, + 26, + 30, + 0, + 0, + 21, + 20, + 0, + 0, + 22, + 22, + 0, + 16, + 21, + 23, + 19, + 22, + 0, + 15, + 24, + 24, + 25, + 0, + 17, + 0, + 0, + 25, + 25, + 22, + 0, + 26, + 0, + 0, + 25, + 27, + 28, + 19, + 25, + 0, + 21, + 21, + 0, + 20, + 17, + 25, + 25, + 21, + 0, + 0, + 21, + 0, + 31, + 22, + 0, + 21, + 17, + 18, + 18, + 26, + 16, + 23, + 22, + 22, + 19, + 28, + 37, + 14, + 17, + 0, + 0, + 23, + 21, + 0, + 0, + 25, + 21, + 18, + 0, + 22, + 26, + 22, + 23, + 27, + 0, + 24, + 28, + 25, + 29, + 25, + 0, + 0, + 26, + 26, + 0, + 0, + 20, + 0, + 24, + 20, + 21, + 17, + 16, + 0, + 17, + 25, + 25, + 21, + 35, + 22, + 22, + 22, + 17, + 0, + 27, + 0, + 23, + 27, + 16, + 0, + 17, + 0, + 20, + 0, + 24, + 24, + 21, + 25, + 21, + 26, + 26, + 27, + 24, + 29, + 24, + 0, + 24, + 0, + 16, + 28, + 21, + 30, + 21, + 25, + 25, + 21, + 0, + 0, + 0, + 0, + 25, + 0, + 22, + 18, + 0, + 21, + 0, + 26, + 22, + 37, + 23, + 22, + 18, + 27, + 23, + 19, + 24, + 25, + 20, + 26, + 26, + 26, + 27, + 24, + 28, + 25, + 29, + 29, + 23, + 0, + 0, + 20, + 0, + 24, + 34, + 21, + 18, + 0, + 17, + 20, + 0, + 0, + 0, + 35, + 22, + 22, + 19, + 16, + 21, + 23, + 19, + 23, + 0, + 24, + 24, + 0, + 25, + 25, + 26, + 26, + 28, + 0, + 0, + 0, + 15, + 24, + 16, + 20, + 24, + 20, + 20, + 23, + 0, + 21, + 17, + 20, + 25, + 21, + 0, + 15, + 24, + 26, + 22, + 22, + 18, + 21, + 26, + 22, + 16, + 23, + 23, + 22, + 27, + 19, + 0, + 24, + 28, + 0, + 16, + 25, + 25, + 22, + 26, + 22, + 27, + 23, + 24, + 28, + 24, + 29, + 25, + 0, + 15, + 23, + 20, + 0, + 24, + 20, + 20, + 0, + 21, + 21, + 17, + 25, + 0, + 22, + 22, + 23, + 23, + 21, + 0, + 20, + 24, + 0, + 26, + 0, + 0, + 0, + 15, + 24, + 27, + 20, + 24, + 24, + 20, + 14, + 23, + 0, + 21, + 17, + 22, + 20, + 25, + 25, + 0, + 24, + 20, + 0, + 35, + 22, + 0, + 26, + 26, + 36, + 23, + 27, + 19, + 19, + 0, + 24, + 24, + 28, + 24, + 21, + 0, + 25, + 29, + 22, + 26, + 22, + 27, + 23, + 28, + 24, + 0, + 18, + 23, + 23, + 23, + 0, + 0, + 37, + 24, + 20, + 0, + 23, + 15, + 21, + 21, + 25, + 21, + 24, + 0, + 0, + 19, + 18, + 26, + 20, + 0, + 0, + 0, + 29, + 0, + 0, + 15, + 23, + 23, + 19, + 22, + 18, + 20, + 16, + 21, + 0, + 0, + 0, + 16, + 24, + 24, + 23, + 23, + 24, + 34, + 21, + 25, + 0, + 24, + 20, + 0, + 22, + 0, + 0, + 26, + 26, + 22, + 0, + 23, + 25, + 19, + 36, + 27, + 27, + 0, + 20, + 20, + 22, + 0, + 24, + 0, + 28, + 28, + 20, + 21, + 0, + 25, + 29, + 25, + 22, + 0, + 26, + 30, + 27, + 0, + 28, + 0, + 29, + 0, + 0, + 0, + 0, + 22, + 18, + 14, + 36, + 23, + 19, + 15, + 17, + 22, + 16, + 37, + 24, + 0, + 24, + 0, + 0, + 23, + 21, + 0, + 25, + 21, + 22, + 22, + 0, + 19, + 19, + 33, + 20, + 0, + 25, + 0, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 26, + 22, + 19, + 23, + 19, + 22, + 18, + 27, + 20, + 16, + 24, + 20, + 23, + 21, + 21, + 25, + 21, + 18, + 0, + 0, + 0, + 0, + 22, + 22, + 0, + 26, + 22, + 19, + 0, + 23, + 23, + 27, + 27, + 20, + 19, + 37, + 24, + 28, + 24, + 21, + 29, + 25, + 29, + 25, + 26, + 30, + 26, + 27, + 0, + 28, + 30, + 0, + 35, + 22, + 22, + 0, + 0, + 23, + 23, + 23, + 26, + 0, + 18, + 24, + 24, + 0, + 19, + 0, + 17, + 0, + 21, + 18, + 18, + 25, + 0, + 0, + 0, + 0, + 18, + 18, + 27, + 0, + 27, + 23, + 23, + 0, + 26, + 26, + 28, + 28, + 29, + 0, + 0, + 22, + 18, + 0, + 26, + 22, + 21, + 23, + 0, + 0, + 22, + 18, + 20, + 0, + 24, + 20, + 0, + 0, + 23, + 19, + 34, + 17, + 18, + 25, + 21, + 18, + 17, + 0, + 26, + 22, + 19, + 0, + 17, + 17, + 20, + 21, + 24, + 24, + 20, + 28, + 28, + 20, + 25, + 29, + 26, + 30, + 22, + 18, + 0, + 0, + 21, + 0, + 0, + 0, + 23, + 19, + 21, + 19, + 0, + 0, + 37, + 24, + 24, + 0, + 0, + 17, + 0, + 0, + 25, + 0, + 0, + 18, + 26, + 29, + 23, + 27, + 27, + 19, + 28, + 0, + 0, + 0, + 16, + 25, + 18, + 0, + 22, + 21, + 26, + 22, + 23, + 0, + 22, + 18, + 19, + 24, + 0, + 23, + 25, + 21, + 18, + 35, + 26, + 22, + 23, + 0, + 27, + 23, + 24, + 28, + 24, + 25, + 29, + 26, + 30, + 21, + 0, + 0, + 0, + 25, + 21, + 22, + 18, + 0, + 21, + 26, + 0, + 0, + 23, + 19, + 23, + 19, + 22, + 24, + 17, + 24, + 27, + 17, + 0, + 25, + 0, + 26, + 22, + 0, + 25, + 27, + 23, + 26, + 0, + 29, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 18, + 0, + 29, + 0, + 25, + 21, + 0, + 17, + 24, + 22, + 18, + 21, + 17, + 26, + 22, + 0, + 17, + 16, + 16, + 23, + 19, + 0, + 22, + 18, + 0, + 27, + 23, + 23, + 24, + 24, + 0, + 17, + 25, + 25, + 0, + 18, + 0, + 26, + 27, + 23, + 26, + 0, + 0, + 28, + 25, + 29, + 25, + 26, + 30, + 0, + 17, + 0, + 0, + 24, + 20, + 21, + 18, + 20, + 17, + 25, + 21, + 15, + 0, + 35, + 0, + 18, + 0, + 0, + 26, + 36, + 23, + 21, + 23, + 23, + 16, + 37, + 24, + 24, + 0, + 17, + 25, + 0, + 21, + 0, + 21, + 25, + 26, + 26, + 27, + 25, + 27, + 32, + 29, + 25, + 0, + 0, + 0, + 20, + 0, + 24, + 20, + 30, + 0, + 21, + 0, + 25, + 21, + 0, + 0, + 0, + 21, + 0, + 24, + 20, + 22, + 22, + 0, + 39, + 26, + 27, + 27, + 16, + 0, + 23, + 22, + 0, + 0, + 27, + 0, + 37, + 24, + 0, + 28, + 0, + 0, + 0, + 25, + 18, + 26, + 22, + 27, + 23, + 24, + 0, + 28, + 24, + 29, + 31, + 29, + 25, + 0, + 0, + 0, + 16, + 16, + 24, + 0, + 18, + 20, + 16, + 21, + 0, + 25, + 24, + 0, + 35, + 0, + 0, + 22, + 0, + 18, + 26, + 19, + 16, + 21, + 25, + 23, + 19, + 23, + 26, + 16, + 20, + 24, + 25, + 21, + 26, + 23, + 25, + 0, + 24, + 0, + 24, + 0, + 0, + 34, + 21, + 17, + 15, + 15, + 15, + 24, + 0, + 22, + 18, + 26, + 22, + 18, + 19, + 0, + 25, + 25, + 21, + 26, + 23, + 19, + 27, + 23, + 24, + 20, + 28, + 28, + 29, + 21, + 25, + 21, + 29, + 22, + 26, + 26, + 30, + 0, + 27, + 28, + 28, + 25, + 0, + 30, + 0, + 23, + 17, + 0, + 0, + 24, + 24, + 0, + 0, + 0, + 0, + 0, + 38, + 25, + 21, + 0, + 0, + 0, + 0, + 24, + 16, + 26, + 24, + 35, + 18, + 26, + 25, + 0, + 23, + 23, + 20, + 20, + 37, + 20, + 28, + 26, + 25, + 0, + 0, + 0, + 0, + 0, + 30, + 0, + 18, + 16, + 24, + 0, + 16, + 23, + 0, + 28, + 24, + 21, + 17, + 25, + 21, + 0, + 18, + 0, + 24, + 0, + 37, + 24, + 22, + 18, + 26, + 0, + 0, + 36, + 23, + 23, + 0, + 27, + 23, + 20, + 16, + 0, + 24, + 24, + 20, + 28, + 24, + 21, + 0, + 38, + 25, + 0, + 29, + 25, + 22, + 26, + 30, + 30, + 0, + 27, + 26, + 28, + 0, + 0, + 30, + 0, + 23, + 18, + 24, + 20, + 25, + 20, + 23, + 15, + 25, + 26, + 23, + 0, + 0, + 24, + 0, + 22, + 22, + 18, + 26, + 19, + 15, + 0, + 25, + 21, + 34, + 26, + 0, + 28, + 0, + 0, + 0, + 0, + 23, + 23, + 24, + 15, + 22, + 24, + 20, + 23, + 19, + 34, + 21, + 0, + 25, + 21, + 0, + 24, + 20, + 17, + 22, + 22, + 26, + 22, + 0, + 19, + 15, + 0, + 25, + 25, + 0, + 0, + 27, + 27, + 20, + 20, + 0, + 0, + 24, + 32, + 0, + 28, + 24, + 34, + 21, + 21, + 38, + 25, + 29, + 25, + 22, + 30, + 30, + 26, + 0, + 0, + 26, + 22, + 30, + 30, + 30, + 27, + 27, + 0, + 0, + 31, + 27, + 28, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 23, + 19, + 0, + 21, + 0, + 22, + 14, + 0, + 0, + 19, + 37, + 24, + 20, + 25, + 0, + 19, + 24, + 19, + 23, + 0, + 0, + 22, + 23, + 24, + 0, + 0, + 26, + 19, + 20, + 0, + 0, + 28, + 24, + 0, + 26, + 28, + 21, + 0, + 29, + 22, + 23, + 19, + 15, + 0, + 22, + 18, + 27, + 0, + 20, + 24, + 20, + 23, + 23, + 16, + 24, + 34, + 38, + 25, + 21, + 18, + 32, + 24, + 0, + 0, + 0, + 0, + 26, + 19, + 19, + 27, + 23, + 20, + 20, + 0, + 0, + 19, + 20, + 28, + 21, + 29, + 25, + 29, + 26, + 30, + 30, + 26, + 0, + 0, + 31, + 0, + 21, + 0, + 0, + 18, + 0, + 0, + 23, + 19, + 23, + 22, + 23, + 24, + 20, + 0, + 23, + 23, + 0, + 25, + 0, + 17, + 19, + 19, + 19, + 0, + 0, + 28, + 0, + 0, + 0, + 26, + 22, + 0, + 23, + 19, + 22, + 0, + 27, + 23, + 16, + 0, + 0, + 0, + 26, + 0, + 0, + 24, + 20, + 23, + 28, + 24, + 0, + 23, + 28, + 25, + 21, + 0, + 18, + 32, + 24, + 20, + 16, + 26, + 25, + 0, + 19, + 0, + 27, + 27, + 24, + 28, + 28, + 21, + 29, + 29, + 26, + 30, + 30, + 0, + 22, + 14, + 26, + 26, + 0, + 23, + 0, + 0, + 19, + 22, + 24, + 24, + 20, + 25, + 26, + 26, + 0, + 26, + 27, + 29, + 0, + 0, + 0, + 22, + 26, + 22, + 23, + 19, + 22, + 18, + 27, + 27, + 28, + 16, + 0, + 0, + 24, + 20, + 23, + 23, + 20, + 39, + 25, + 21, + 18, + 0, + 26, + 22, + 31, + 27, + 24, + 28, + 24, + 27, + 29, + 29, + 0, + 30, + 0, + 0, + 30, + 0, + 0, + 35, + 22, + 39, + 26, + 27, + 21, + 36, + 23, + 23, + 24, + 20, + 25, + 21, + 20, + 26, + 27, + 27, + 23, + 0, + 30, + 0, + 0, + 0, + 0, + 25, + 15, + 31, + 22, + 0, + 0, + 0, + 26, + 26, + 22, + 25, + 23, + 23, + 0, + 40, + 27, + 0, + 24, + 24, + 19, + 0, + 24, + 21, + 0, + 25, + 18, + 26, + 22, + 27, + 23, + 0, + 26, + 24, + 0, + 28, + 24, + 29, + 25, + 0, + 30, + 30, + 0, + 0, + 24, + 17, + 38, + 25, + 20, + 22, + 39, + 26, + 22, + 27, + 0, + 25, + 36, + 21, + 17, + 22, + 25, + 26, + 27, + 27, + 29, + 0, + 0, + 0, + 0, + 0, + 25, + 25, + 21, + 0, + 25, + 22, + 18, + 26, + 26, + 15, + 20, + 25, + 26, + 23, + 19, + 27, + 27, + 19, + 24, + 0, + 0, + 28, + 0, + 25, + 25, + 29, + 0, + 26, + 0, + 27, + 28, + 28, + 29, + 26, + 0, + 16, + 24, + 20, + 19, + 0, + 0, + 38, + 25, + 0, + 0, + 0, + 0, + 18, + 39, + 26, + 22, + 26, + 25, + 25, + 0, + 23, + 21, + 25, + 0, + 31, + 31, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 0, + 20, + 28, + 0, + 25, + 25, + 15, + 24, + 21, + 29, + 35, + 0, + 22, + 26, + 26, + 25, + 0, + 0, + 25, + 23, + 23, + 19, + 23, + 22, + 0, + 0, + 0, + 24, + 16, + 0, + 28, + 0, + 21, + 21, + 25, + 25, + 0, + 29, + 25, + 22, + 26, + 26, + 0, + 22, + 0, + 0, + 27, + 24, + 28, + 29, + 30, + 0, + 0, + 14, + 0, + 24, + 20, + 0, + 0, + 38, + 25, + 25, + 25, + 39, + 0, + 0, + 22, + 0, + 20, + 20, + 25, + 27, + 0, + 28, + 0, + 0, + 0, + 30, + 0, + 0, + 0, + 0, + 24, + 20, + 19, + 0, + 25, + 21, + 0, + 24, + 35, + 22, + 0, + 0, + 26, + 22, + 25, + 23, + 0, + 20, + 0, + 0, + 27, + 0, + 20, + 16, + 0, + 20, + 28, + 21, + 25, + 0, + 29, + 29, + 22, + 22, + 0, + 26, + 30, + 30, + 0, + 27, + 27, + 23, + 35, + 0, + 0, + 0, + 19, + 0, + 37, + 24, + 24, + 20, + 24, + 18, + 25, + 25, + 26, + 25, + 0, + 0, + 20, + 24, + 39, + 26, + 26, + 0, + 0, + 20, + 20, + 25, + 0, + 29, + 0, + 33, + 19, + 19, + 23, + 16, + 24, + 25, + 0, + 38, + 25, + 25, + 0, + 0, + 24, + 0, + 19, + 0, + 39, + 39, + 26, + 0, + 36, + 27, + 23, + 20, + 20, + 0, + 28, + 29, + 21, + 29, + 25, + 29, + 25, + 22, + 0, + 30, + 26, + 22, + 30, + 26, + 27, + 0, + 26, + 0, + 0, + 0, + 0, + 36, + 23, + 0, + 24, + 24, + 24, + 0, + 0, + 0, + 0, + 38, + 25, + 21, + 0, + 38, + 38, + 28, + 24, + 26, + 0, + 28, + 0, + 26, + 28, + 38, + 0, + 0, + 26, + 26, + 31, + 26, + 18, + 0, + 19, + 0, + 0, + 0, + 27, + 0, + 24, + 20, + 0, + 0, + 0, + 23, + 19, + 28, + 38, + 25, + 21, + 24, + 26, + 22, + 19, + 33, + 25, + 24, + 27, + 23, + 0, + 28, + 24, + 0, + 29, + 26, + 22, + 0, + 30, + 26, + 27, + 0, + 0, + 36, + 19, + 27, + 0, + 37, + 24, + 37, + 19, + 38, + 21, + 31, + 26, + 0, + 0, + 0, + 27, + 0, + 0, + 26, + 22, + 0, + 0, + 19, + 24, + 40, + 27, + 0, + 35, + 16, + 0, + 0, + 31, + 0, + 19, + 37, + 24, + 20, + 23, + 24, + 25, + 21, + 24, + 0, + 22, + 27, + 19, + 0, + 27, + 23, + 20, + 28, + 28, + 0, + 29, + 30, + 30, + 0, + 27, + 0, + 0, + 26, + 22, + 0, + 36, + 23, + 0, + 36, + 19, + 16, + 0, + 37, + 24, + 0, + 18, + 0, + 26, + 27, + 24, + 29, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 35, + 26, + 0, + 18, + 23, + 19, + 19, + 27, + 0, + 0, + 26, + 22, + 24, + 20, + 41, + 28, + 25, + 25, + 29, + 0, + 0, + 29, + 26, + 26, + 27, + 27, + 28, + 24, + 0, + 28, + 24, + 0, + 29, + 0, + 0, + 31, + 0, + 0, + 0, + 20, + 25, + 0, + 18, + 26, + 20, + 21, + 19, + 0, + 24, + 0, + 0, + 0, + 18, + 25, + 26, + 26, + 0, + 24, + 0, + 0, + 25, + 19, + 0, + 0, + 26, + 27, + 0, + 23, + 19, + 40, + 27, + 23, + 28, + 20, + 16, + 21, + 0, + 24, + 24, + 41, + 28, + 28, + 0, + 25, + 21, + 0, + 25, + 26, + 26, + 0, + 27, + 0, + 28, + 24, + 0, + 29, + 30, + 30, + 29, + 0, + 17, + 25, + 25, + 0, + 26, + 16, + 0, + 27, + 21, + 17, + 25, + 25, + 27, + 30, + 0, + 0, + 0, + 0, + 21, + 0, + 24, + 0, + 0, + 22, + 18, + 0, + 0, + 26, + 22, + 18, + 25, + 21, + 0, + 0, + 0, + 23, + 27, + 23, + 0, + 24, + 20, + 20, + 16, + 28, + 29, + 0, + 0, + 38, + 25, + 21, + 29, + 25, + 39, + 26, + 26, + 22, + 30, + 26, + 23, + 27, + 23, + 24, + 28, + 29, + 0, + 30, + 31, + 32, + 24, + 20, + 0, + 0, + 38, + 25, + 25, + 0, + 20, + 0, + 39, + 26, + 26, + 24, + 0, + 20, + 16, + 25, + 17, + 28, + 0, + 0, + 25, + 0, + 23, + 29, + 0, + 0, + 0, + 26, + 20, + 0, + 28, + 0, + 25, + 25, + 21, + 15, + 24, + 20, + 25, + 22, + 26, + 22, + 16, + 25, + 21, + 0, + 0, + 27, + 23, + 24, + 24, + 24, + 16, + 28, + 24, + 21, + 0, + 16, + 25, + 21, + 29, + 30, + 22, + 0, + 0, + 26, + 22, + 30, + 30, + 31, + 23, + 27, + 27, + 31, + 31, + 32, + 28, + 0, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 19, + 25, + 23, + 25, + 0, + 26, + 20, + 22, + 0, + 25, + 0, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 20, + 0, + 0, + 0, + 0, + 28, + 0, + 17, + 25, + 0, + 24, + 22, + 0, + 26, + 0, + 36, + 27, + 23, + 20, + 16, + 19, + 28, + 29, + 35, + 0, + 29, + 25, + 30, + 22, + 33, + 21, + 22, + 30, + 0, + 32, + 23, + 31, + 0, + 28, + 32, + 28, + 0, + 23, + 0, + 23, + 0, + 0, + 0, + 24, + 0, + 23, + 25, + 0, + 0, + 20, + 24, + 39, + 26, + 22, + 27, + 20, + 0, + 24, + 29, + 0, + 32, + 0, + 0, + 19, + 0, + 27, + 0, + 15, + 37, + 24, + 23, + 20, + 24, + 29, + 0, + 30, + 25, + 25, + 21, + 0, + 0, + 0, + 29, + 22, + 39, + 26, + 25, + 0, + 20, + 40, + 27, + 23, + 20, + 41, + 24, + 29, + 29, + 26, + 22, + 30, + 30, + 0, + 27, + 31, + 28, + 32, + 28, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 0, + 0, + 36, + 0, + 22, + 37, + 24, + 24, + 0, + 19, + 38, + 25, + 23, + 25, + 28, + 0, + 26, + 22, + 19, + 0, + 0, + 20, + 28, + 28, + 0, + 0, + 29, + 0, + 21, + 0, + 21, + 23, + 27, + 23, + 24, + 20, + 25, + 23, + 41, + 28, + 24, + 0, + 38, + 25, + 21, + 24, + 30, + 30, + 0, + 19, + 26, + 22, + 25, + 21, + 30, + 27, + 23, + 0, + 20, + 0, + 24, + 41, + 28, + 28, + 29, + 33, + 0, + 30, + 0, + 27, + 27, + 31, + 27, + 32, + 0, + 0, + 0, + 19, + 19, + 27, + 23, + 0, + 24, + 37, + 0, + 20, + 18, + 21, + 0, + 24, + 26, + 26, + 0, + 27, + 23, + 0, + 26, + 33, + 33, + 0, + 22, + 32, + 0, + 18, + 23, + 19, + 19, + 0, + 34, + 15, + 27, + 17, + 26, + 37, + 24, + 20, + 20, + 28, + 0, + 0, + 35, + 21, + 19, + 38, + 25, + 0, + 0, + 18, + 25, + 42, + 29, + 29, + 30, + 18, + 26, + 26, + 0, + 27, + 27, + 28, + 28, + 20, + 0, + 29, + 25, + 0, + 30, + 31, + 0, + 0, + 32, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 21, + 18, + 26, + 22, + 0, + 25, + 0, + 16, + 19, + 40, + 0, + 22, + 0, + 24, + 20, + 17, + 0, + 28, + 28, + 18, + 0, + 0, + 0, + 0, + 0, + 26, + 22, + 0, + 0, + 0, + 27, + 0, + 28, + 0, + 0, + 29, + 0, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 26, + 22, + 0, + 0, + 25, + 23, + 23, + 0, + 19, + 27, + 23, + 28, + 0, + 26, + 26, + 0, + 15, + 24, + 20, + 28, + 24, + 18, + 29, + 34, + 25, + 26, + 0, + 0, + 29, + 25, + 0, + 0, + 17, + 39, + 26, + 22, + 0, + 30, + 31, + 27, + 23, + 0, + 21, + 27, + 20, + 28, + 24, + 0, + 0, + 29, + 29, + 25, + 0, + 0, + 30, + 21, + 0, + 22, + 26, + 22, + 22, + 25, + 40, + 27, + 27, + 17, + 0, + 33, + 28, + 0, + 0, + 0, + 0, + 39, + 26, + 0, + 0, + 0, + 33, + 0, + 0, + 26, + 27, + 0, + 19, + 27, + 27, + 24, + 26, + 37, + 24, + 20, + 41, + 28, + 0, + 29, + 25, + 25, + 42, + 29, + 0, + 0, + 26, + 18, + 30, + 23, + 0, + 27, + 27, + 31, + 24, + 0, + 41, + 28, + 24, + 29, + 25, + 26, + 30, + 32, + 25, + 21, + 39, + 26, + 26, + 27, + 19, + 20, + 21, + 0, + 19, + 23, + 28, + 0, + 21, + 21, + 0, + 37, + 24, + 28, + 25, + 29, + 0, + 0, + 0, + 0, + 26, + 24, + 0, + 0, + 0, + 0, + 39, + 26, + 22, + 27, + 0, + 16, + 26, + 19, + 0, + 27, + 0, + 16, + 16, + 20, + 16, + 0, + 22, + 18, + 28, + 37, + 24, + 0, + 20, + 41, + 28, + 24, + 25, + 29, + 29, + 0, + 17, + 26, + 30, + 30, + 31, + 23, + 23, + 31, + 24, + 0, + 28, + 23, + 32, + 32, + 33, + 25, + 30, + 34, + 32, + 0, + 0, + 24, + 0, + 38, + 25, + 0, + 39, + 26, + 0, + 0, + 0, + 20, + 15, + 15, + 19, + 0, + 22, + 21, + 22, + 0, + 0, + 26, + 32, + 31, + 0, + 0, + 11, + 0, + 17, + 25, + 25, + 21, + 29, + 39, + 26, + 22, + 25, + 21, + 25, + 0, + 0, + 0, + 27, + 27, + 23, + 22, + 41, + 28, + 24, + 0, + 21, + 35, + 0, + 29, + 29, + 30, + 30, + 30, + 0, + 24, + 32, + 41, + 28, + 32, + 28, + 0, + 40, + 29, + 0, + 33, + 0, + 32, + 32, + 0, + 0, + 0, + 24, + 0, + 0, + 0, + 38, + 25, + 0, + 0, + 26, + 26, + 0, + 21, + 0, + 40, + 27, + 0, + 23, + 23, + 0, + 0, + 21, + 28, + 0, + 23, + 0, + 0, + 25, + 25, + 21, + 0, + 0, + 0, + 0, + 0, + 26, + 22, + 27, + 0, + 27, + 0, + 20, + 28, + 28, + 24, + 34, + 21, + 0, + 29, + 25, + 0, + 30, + 30, + 0, + 23, + 31, + 32, + 0, + 0, + 32, + 0, + 0, + 0, + 23, + 20, + 38, + 26, + 21, + 26, + 0, + 39, + 31, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 20, + 0, + 0, + 23, + 0, + 0, + 28, + 25, + 21, + 26, + 0, + 42, + 29, + 22, + 24, + 26, + 26, + 25, + 40, + 27, + 23, + 28, + 0, + 20, + 34, + 28, + 24, + 20, + 0, + 21, + 21, + 0, + 42, + 25, + 0, + 0, + 22, + 30, + 30, + 0, + 31, + 0, + 0, + 0, + 33, + 0, + 0, + 23, + 23, + 24, + 24, + 28, + 0, + 28, + 38, + 28, + 0, + 0, + 39, + 0, + 33, + 0, + 0, + 0, + 0, + 0, + 18, + 0, + 0, + 0, + 24, + 24, + 16, + 20, + 24, + 29, + 0, + 0, + 25, + 21, + 0, + 29, + 0, + 26, + 22, + 25, + 21, + 34, + 40, + 27, + 27, + 19, + 0, + 41, + 28, + 29, + 29, + 29, + 0, + 0, + 30, + 31, + 32, + 0, + 33, + 0, + 0, + 0, + 27, + 23, + 0, + 26, + 20, + 28, + 22, + 28, + 0, + 38, + 0, + 0, + 20, + 0, + 33, + 33, + 0, + 32, + 0, + 0, + 0, + 0, + 0, + 21, + 0, + 19, + 19, + 0, + 19, + 27, + 23, + 22, + 24, + 20, + 28, + 24, + 29, + 27, + 27, + 28, + 38, + 21, + 29, + 25, + 30, + 0, + 0, + 0, + 0, + 26, + 22, + 27, + 0, + 30, + 26, + 0, + 34, + 27, + 27, + 31, + 28, + 0, + 28, + 28, + 25, + 29, + 29, + 0, + 0, + 30, + 0, + 0, + 34, + 0, + 0, + 24, + 0, + 0, + 22, + 20, + 0, + 22, + 26, + 22, + 0, + 19, + 27, + 27, + 28, + 0, + 27, + 37, + 0, + 34, + 0, + 25, + 22, + 19, + 27, + 0, + 22, + 24, + 24, + 0, + 41, + 28, + 24, + 18, + 39, + 29, + 21, + 29, + 29, + 39, + 26, + 22, + 43, + 30, + 22, + 0, + 27, + 23, + 0, + 31, + 0, + 0, + 0, + 0, + 41, + 28, + 25, + 42, + 25, + 39, + 30, + 30, + 0, + 0, + 0, + 39, + 0, + 0, + 27, + 23, + 0, + 28, + 0, + 28, + 28, + 38, + 25, + 31, + 0, + 22, + 26, + 22, + 0, + 0, + 27, + 23, + 23, + 16, + 41, + 28, + 0, + 0, + 29, + 25, + 22, + 42, + 29, + 25, + 0, + 0, + 22, + 21, + 0, + 18, + 0, + 30, + 26, + 0, + 18, + 0, + 27, + 31, + 24, + 0, + 29, + 38, + 25, + 0, + 26, + 37, + 24, + 0, + 26, + 30, + 0, + 0, + 0, + 39, + 26, + 26, + 40, + 18, + 0, + 22, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 0, + 39, + 26, + 26, + 0, + 0, + 0, + 25, + 27, + 23, + 26, + 24, + 16, + 28, + 28, + 29, + 0, + 23, + 29, + 42, + 29, + 25, + 0, + 30, + 30, + 31, + 23, + 0, + 0, + 0, + 31, + 27, + 24, + 0, + 32, + 32, + 25, + 0, + 34, + 33, + 39, + 19, + 0, + 24, + 0, + 27, + 41, + 33, + 0, + 32, + 0, + 0, + 0, + 0, + 25, + 0, + 29, + 25, + 0, + 0, + 39, + 26, + 22, + 0, + 40, + 27, + 27, + 23, + 41, + 28, + 28, + 27, + 21, + 42, + 29, + 35, + 22, + 30, + 30, + 31, + 32, + 28, + 29, + 0, + 0, + 0, + 25, + 0, + 0, + 18, + 26, + 27, + 0, + 30, + 21, + 0, + 27, + 0, + 32, + 0, + 0, + 0, + 29, + 0, + 39, + 22, + 30, + 0, + 27, + 27, + 21, + 27, + 21, + 35, + 25, + 29, + 29, + 30, + 26, + 31, + 31, + 0, + 0, + 0, + 32, + 39, + 0, + 0, + 34, + 23, + 30, + 0, + 0, + 0, + 20, + 21, + 0, + 0, + 25, + 21, + 29, + 25, + 0, + 26, + 22, + 26, + 31, + 27, + 28, + 20, + 21, + 35, + 0, + 0, + 42, + 29, + 25, + 22, + 22, + 22, + 30, + 30, + 0, + 0, + 31, + 33, + 0, + 33, + 0, + 0, + 0, + 0, + 23, + 0, + 0, + 38, + 0, + 0, + 0, + 0, + 0, + 28, + 28, + 21, + 29, + 25, + 39, + 26, + 22, + 27, + 25, + 21, + 0, + 30, + 19, + 27, + 23, + 44, + 41, + 28, + 24, + 42, + 29, + 29, + 25, + 0, + 0, + 30, + 31, + 28, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 23, + 0, + 0, + 24, + 0, + 24, + 18, + 0, + 20, + 0, + 0, + 0, + 0, + 0, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 18, + 0, + 0, + 20, + 28, + 24, + 0, + 24, + 23, + 0, + 25, + 19, + 42, + 29, + 30, + 0, + 22, + 22, + 30, + 26, + 30, + 0, + 0, + 0, + 27, + 0, + 31, + 28, + 20, + 0, + 29, + 0, + 0, + 26, + 27, + 28, + 0, + 32, + 34, + 0, + 0, + 0, + 26, + 0, + 0, + 27, + 27, + 23, + 0, + 0, + 21, + 0, + 22, + 23, + 0, + 25, + 39, + 0, + 0, + 0, + 0, + 27, + 33, + 0, + 0, + 0, + 0, + 21, + 0, + 0, + 0, + 0, + 23, + 28, + 0, + 0, + 0, + 0, + 0, + 18, + 23, + 28, + 29, + 29, + 0, + 0, + 29, + 29, + 26, + 22, + 20, + 0, + 0, + 29, + 25, + 0, + 30, + 23, + 30, + 30, + 31, + 0, + 0, + 22, + 0, + 19, + 24, + 23, + 31, + 0, + 0, + 0, + 38, + 39, + 26, + 27, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 27, + 28, + 0, + 28, + 0, + 28, + 24, + 0, + 33, + 34, + 0, + 0, + 0, + 0, + 0, + 40, + 27, + 0, + 0, + 41, + 24, + 0, + 18, + 0, + 0, + 42, + 29, + 0, + 22, + 43, + 30, + 26, + 18, + 0, + 44, + 0, + 0, + 0, + 0, + 32, + 33, + 29, + 26, + 30, + 30, + 35, + 31, + 0, + 0, + 0, + 0, + 26, + 27, + 27, + 0, + 26, + 17, + 0, + 0, + 0, + 0, + 0, + 28, + 0, + 42, + 29, + 0, + 0, + 0, + 0, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 0, + 27, + 23, + 24, + 0, + 0, + 30, + 0, + 0, + 28, + 24, + 29, + 0, + 29, + 28, + 22, + 18, + 41, + 30, + 26, + 31, + 23, + 24, + 28, + 33, + 34, + 34, + 0, + 0, + 0, + 0, + 20, + 0, + 0, + 0, + 26, + 0, + 23, + 0, + 0, + 33, + 33, + 0, + 0, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 19, + 0, + 26, + 0, + 0, + 27, + 27, + 28, + 0, + 24, + 29, + 0, + 29, + 29, + 30, + 22, + 36, + 26, + 30, + 22, + 0, + 31, + 31, + 28, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 15, + 25, + 21, + 0, + 0, + 39, + 0, + 0, + 0, + 35, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 25, + 25, + 24, + 20, + 0, + 26, + 27, + 43, + 30, + 0, + 30, + 0, + 0, + 27, + 23, + 0, + 31, + 27, + 22, + 0, + 28, + 24, + 27, + 42, + 29, + 28, + 0, + 22, + 0, + 30, + 30, + 27, + 23, + 31, + 0, + 0, + 32, + 0, + 36, + 37, + 34, + 0, + 35, + 35, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 0, + 24, + 27, + 0, + 0, + 0, + 0, + 29, + 0, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 21, + 24, + 0, + 27, + 0, + 0, + 0, + 0, + 0, + 30, + 29, + 0, + 26, + 0, + 21, + 29, + 0, + 0, + 24, + 26, + 22, + 25, + 0, + 43, + 30, + 26, + 31, + 0, + 40, + 27, + 23, + 23, + 44, + 31, + 0, + 20, + 28, + 27, + 34, + 21, + 24, + 22, + 0, + 0, + 42, + 29, + 0, + 22, + 43, + 30, + 26, + 0, + 31, + 31, + 28, + 0, + 0, + 40, + 33, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 0, + 22, + 0, + 25, + 0, + 0, + 0, + 0, + 20, + 27, + 39, + 0, + 0, + 0, + 0, + 16, + 28, + 0, + 25, + 21, + 25, + 18, + 24, + 26, + 22, + 0, + 43, + 30, + 0, + 27, + 44, + 31, + 41, + 28, + 32, + 21, + 29, + 25, + 31, + 0, + 28, + 28, + 33, + 0, + 0, + 0, + 0, + 41, + 28, + 0, + 0, + 29, + 29, + 25, + 0, + 0, + 27, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 20, + 28, + 29, + 29, + 23, + 32, + 40, + 0, + 29, + 29, + 22, + 0, + 43, + 30, + 26, + 44, + 31, + 27, + 0, + 23, + 20, + 24, + 28, + 0, + 27, + 0, + 28, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 28, + 28, + 27, + 0, + 29, + 29, + 29, + 0, + 28, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 20, + 19, + 41, + 28, + 27, + 22, + 0, + 42, + 29, + 22, + 0, + 0, + 0, + 0, + 43, + 30, + 30, + 31, + 31, + 27, + 27, + 27, + 45, + 38, + 0, + 34, + 35, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 30, + 0, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 27, + 0, + 20, + 41, + 28, + 29, + 42, + 0, + 43, + 43, + 30, + 23, + 0, + 44, + 31, + 0, + 37, + 32, + 0, + 0, + 0, + 39, + 26, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 24, + 0, + 27, + 0, + 0, + 29, + 0, + 23, + 36, + 25, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 19, + 0, + 41, + 28, + 0, + 29, + 42, + 29, + 28, + 0, + 22, + 43, + 29, + 23, + 0, + 27, + 24, + 0, + 0, + 41, + 32, + 33, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 0, + 0, + 23, + 0, + 36, + 0, + 0, + 38, + 0, + 0, + 0, + 0, + 30, + 0, + 27, + 27, + 19, + 23, + 31, + 32, + 41, + 28, + 0, + 29, + 29, + 30, + 0, + 0, + 30, + 29, + 23, + 0, + 0, + 0, + 35, + 36, + 0, + 0, + 22, + 28, + 0, + 22, + 28, + 0, + 37, + 0, + 29, + 0, + 0, + 19, + 0, + 0, + 0, + 0, + 0, + 30, + 0, + 0, + 30, + 0, + 0, + 27, + 23, + 31, + 27, + 41, + 28, + 45, + 32, + 25, + 28, + 22, + 23, + 0, + 0, + 30, + 24, + 23, + 31, + 0, + 29, + 0, + 34, + 0, + 35, + 0, + 0, + 0, + 25, + 29, + 0, + 25, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 25, + 0, + 29, + 0, + 21, + 0, + 34, + 43, + 30, + 28, + 31, + 27, + 41, + 0, + 28, + 33, + 29, + 33, + 29, + 28, + 28, + 33, + 37, + 30, + 0, + 31, + 0, + 0, + 28, + 0, + 0, + 0, + 29, + 0, + 0, + 0, + 0, + 34, + 29, + 0, + 0, + 0, + 26, + 29, + 30, + 24, + 0, + 43, + 30, + 0, + 31, + 20, + 45, + 46, + 33, + 27, + 0, + 28, + 28, + 0, + 0, + 37, + 0, + 0, + 24, + 28, + 0, + 42, + 27, + 27, + 27, + 0, + 0, + 0, + 0, + 0, + 29, + 25, + 0, + 0, + 43, + 30, + 31, + 0, + 44, + 31, + 27, + 32, + 32, + 25, + 33, + 0, + 39, + 28, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 28, + 27, + 35, + 0, + 28, + 0, + 29, + 29, + 25, + 30, + 30, + 0, + 31, + 32, + 0, + 38, + 0, + 0, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 32, + 42, + 29, + 25, + 0, + 0, + 43, + 0, + 23, + 23, + 44, + 32, + 30, + 24, + 29, + 0, + 0, + 32, + 29, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 25, + 0, + 0, + 37, + 0, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 31, + 27, + 28, + 24, + 0, + 30, + 0, + 23, + 30, + 29, + 25, + 30, + 33, + 0, + 23, + 0, + 28, + 24, + 0, + 0, + 0, + 30, + 23, + 0, + 41, + 0, + 33, + 30, + 24, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 24, + 0, + 30, + 0, + 0, + 27, + 0, + 0, + 20, + 0, + 27, + 23, + 27, + 32, + 28, + 22, + 28, + 30, + 0, + 30, + 0, + 0, + 0, + 0, + 26, + 31, + 19, + 0, + 0, + 0, + 44, + 31, + 27, + 32, + 24, + 32, + 0, + 0, + 32, + 33, + 32, + 0, + 0, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 16, + 42, + 29, + 0, + 0, + 43, + 30, + 0, + 23, + 44, + 0, + 0, + 0, + 38, + 0, + 32, + 37, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 0, + 29, + 25, + 0, + 18, + 18, + 22, + 43, + 26, + 0, + 44, + 31, + 0, + 24, + 0, + 24, + 32, + 0, + 33, + 26, + 0, + 0, + 32, + 43, + 0, + 0, + 0, + 0, + 0, + 31, + 25, + 42, + 25, + 0, + 0, + 0, + 0, + 0, + 30, + 0, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 32, + 0, + 27, + 29, + 0, + 0, + 0, + 0, + 43, + 30, + 31, + 0, + 37, + 24, + 20, + 45, + 0, + 0, + 0, + 0, + 20, + 30, + 30, + 0, + 0, + 0, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 30, + 26, + 0, + 0, + 23, + 44, + 24, + 45, + 26, + 34, + 0, + 0, + 45, + 0, + 20, + 0, + 0, + 0, + 22, + 0, + 0, + 28, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 44, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 42, + 0, + 29, + 30, + 0, + 23, + 37, + 24, + 0, + 29, + 30, + 0, + 38, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 21, + 25, + 0, + 0, + 0, + 40, + 30, + 0, + 0, + 22, + 0, + 30, + 0, + 0, + 31, + 31, + 0, + 0, + 24, + 32, + 28, + 22, + 0, + 30, + 23, + 23, + 0, + 0, + 48, + 29, + 34, + 33, + 35, + 30, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 32, + 34, + 0, + 29, + 0, + 0, + 0, + 0, + 0, + 0, + 30, + 23, + 31, + 31, + 32, + 0, + 21, + 32, + 33, + 0, + 0, + 33, + 33, + 30, + 30, + 26, + 32, + 0, + 0, + 43, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 23, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 33, + 29, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 0, + 21, + 0, + 22, + 30, + 31, + 0, + 44, + 27, + 32, + 0, + 24, + 32, + 33, + 0, + 29, + 30, + 29, + 41, + 28, + 32, + 0, + 0, + 37, + 43, + 43, + 36, + 0, + 0, + 0, + 0, + 20, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 0, + 0, + 0, + 24, + 33, + 29, + 30, + 0, + 0, + 0, + 26, + 30, + 30, + 0, + 0, + 0, + 27, + 44, + 31, + 27, + 0, + 32, + 28, + 33, + 0, + 33, + 35, + 0, + 27, + 35, + 32, + 0, + 37, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 0, + 0, + 0, + 30, + 0, + 0, + 30, + 22, + 0, + 31, + 37, + 24, + 0, + 32, + 33, + 25, + 34, + 26, + 0, + 27, + 0, + 32, + 0, + 0, + 37, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 29, + 0, + 0, + 0, + 33, + 0, + 30, + 22, + 41, + 24, + 0, + 0, + 29, + 34, + 0, + 0, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 28, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 32, + 33, + 0, + 30, + 34, + 0, + 24, + 0, + 0, + 0, + 37, + 0, + 0, + 0, + 32, + 0, + 0, + 23, + 23, + 0, + 0, + 44, + 31, + 0, + 0, + 0, + 20, + 0, + 0, + 0, + 29, + 0, + 31, + 0, + 24, + 0, + 32, + 0, + 33, + 34, + 0, + 0, + 38, + 0, + 37, + 24, + 0, + 27, + 0, + 0, + 0, + 43, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 35, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 24, + 32, + 28, + 0, + 0, + 0, + 26, + 0, + 33, + 35, + 35, + 0, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 32, + 34, + 0, + 0, + 0, + 0, + 39, + 0, + 22, + 0, + 30, + 0, + 44, + 27, + 45, + 0, + 25, + 33, + 33, + 0, + 32, + 43, + 30, + 0, + 38, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 0, + 0, + 0, + 34, + 30, + 0, + 44, + 31, + 20, + 0, + 0, + 0, + 0, + 0, + 0, + 32, + 0, + 38, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 30, + 30, + 0, + 0, + 44, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 46, + 39, + 34, + 0, + 33, + 48, + 35, + 28, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 22, + 43, + 32, + 24, + 28, + 0, + 0, + 25, + 25, + 0, + 0, + 0, + 0, + 32, + 36, + 33, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 46, + 33, + 31, + 31, + 37, + 24, + 20, + 0, + 36, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 23, + 0, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 21, + 33, + 34, + 30, + 30, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 23, + 23, + 0, + 32, + 42, + 33, + 34, + 0, + 24, + 0, + 0, + 0, + 0, + 0, + 0, + 23, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 27, + 32, + 28, + 33, + 0, + 0, + 0, + 24, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 23, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 31, + 32, + 26, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 41, + 38, + 34, + 0, + 47, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 34, + 0, + 38, + 25, + 21, + 0, + 0, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 26, + 0, + 0, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 0, + 22, + 0, + 38, + 28, + 32, + 0, + 0, + 0, + 0, + 33, + 24, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 34, + 36, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 24, + 0, + 0, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 32, + 21, + 28, + 0, + 33, + 0, + 0, + 34, + 39, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 32, + 22, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 44, + 32, + 0, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 47, + 47, + 0, + 0, + 0, + 0, + 0, + 16, + 0, + 0, + 0, + 22, + 0, + 0, + 0, + 28, + 0, + 0, + 26, + 44, + 0, + 48, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 23, + 34, + 0, + 0, + 0, + 38, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 0, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 38, + 0, + 0, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 37, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 33, + 0, + 26, + 0, + 26, + 34, + 0, + 40, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 33, + 29, + 0, + 27, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 0, + 22, + 34, + 0, + 42, + 0, + 37, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 0, + 32, + 0, + 33, + 0, + 0, + 47, + 0, + 0, + 0, + 0, + 39, + 0, + 36, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 20, + 22, + 33, + 0, + 37, + 0, + 0, + 0, + 0, + 37, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 0, + 0, + 40, + 49, + 49, + 45, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 38, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 0, + 0, + 34, + 32, + 40, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 25, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 50, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 34, + 0, + 39, + 0, + 0, + 0, + 32, + 0, + 40, + 39, + 41, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 38, + 0, + 37, + 49, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 24, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 51, + 51, + 0, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 44, + 0, + 0, + 0, + 0, + 30, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 55, + 0, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 31, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 33, + 27, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 0, + 41, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 26, + 0, + 39, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 43, + 0, + 0, + 45, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 0, + 0, + 0, + 42, + 0, + 51, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 27, + 0, + 0, + 0, + 0, + 0, + 49, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 34, + 0, + 39, + 36, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 49, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 23, + 0, + 24, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 49, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 52, + 0, + 51, + 0, + 52, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 38, + 46, + 0, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 54, + 0, + 43, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 35, + 0, + 0, + 43, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 52, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 29, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 52, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 52, + 48, + 43, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 48, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 0, + 0, + 42, + 47, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 49, + 0, + 0, + 0, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 49, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 52, + 44, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 52, + 52, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 49, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 49, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 54, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 0, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 45, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 57, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 52, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 37, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 47, + 49, + 0, + 0, + 50, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 47, + 52, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 48, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 39, + 59, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 59, + 0, + 0, + 0, + 0, + 39, + 0, + 0, + 0, + 0, + 44, + 0, + 51, + 0, + 0, + 55, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 52, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 52, + 0, + 46, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 49, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 55, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 59, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 0, + 45, + 0, + 0, + 56, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 52, + 51, + 0, + 61, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 49, + 0, + 44, + 0, + 61, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 47, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 55, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 0, + 57, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 53, + 53, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 0, + 0, + 54, + 53, + 59, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 47, + 0, + 0, + 0, + 49, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 41, + 0, + 62, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 61, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 52, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + 0, + 0, + 0 + ], + "type": "histogram", + "marker": { + "color": "rgba(31,119,180,1)", + "line": { + "color": "rgba(31,119,180,1)" + } + }, + "error_y": { + "color": "rgba(31,119,180,1)" + }, + "error_x": { + "color": "rgba(31,119,180,1)" + }, + "xaxis": "x", + "yaxis": "y", + "frame": null + } + ], + "highlight": { + "on": "plotly_click", + "persistent": false, + "dynamic": false, + "selectize": false, + "opacityDim": 0.2, + "selected": { + "opacity": 1 + }, + "debounce": 0 + }, + "shinyEvents": [ + "plotly_hover", + "plotly_click", + "plotly_selected", + "plotly_relayout", + "plotly_brushed", + "plotly_brushing", + "plotly_clickannotation", + "plotly_doubleclick", + "plotly_deselect", + "plotly_afterplot", + "plotly_sunburstclick" + ], + "base_url": "https://plot.ly" + }, + "evals": [ + + ], + "jsHooks": [ + + ], + "deps": [ + { + "name": "setprototypeof", + "version": "0.1", + "src": { + "href": "setprototypeof-0.1" + }, + "meta": null, + "script": "setprototypeof.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": false + }, + { + "name": "typedarray", + "version": "0.1", + "src": { + "href": "typedarray-0.1" + }, + "meta": null, + "script": "typedarray.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": false + }, + { + "name": "jquery", + "version": "3.5.1", + "src": { + "href": "jquery-3.5.1" + }, + "meta": null, + "script": "jquery.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "crosstalk", + "version": "1.1.1", + "src": { + "href": "crosstalk-1.1.1" + }, + "meta": null, + "script": "js/crosstalk.min.js", + "stylesheet": "css/crosstalk.css", + "head": null, + "attachment": null, + "all_files": true + }, + { + "name": "plotly-htmlwidgets-css", + "version": "1.57.1", + "src": { + "href": "plotly-htmlwidgets-css-1.57.1" + }, + "meta": null, + "script": null, + "stylesheet": "plotly-htmlwidgets.css", + "head": null, + "attachment": null, + "all_files": false + }, + { + "name": "plotly-main", + "version": "1.57.1", + "src": { + "href": "plotly-main-1.57.1" + }, + "meta": null, + "script": "plotly-latest.min.js", + "stylesheet": null, + "head": null, + "attachment": null, + "all_files": false + } + ] + } + } +} diff --git a/tests/testthat/setup.R b/tests/testthat/setup.R new file mode 100644 index 0000000..155132d --- /dev/null +++ b/tests/testthat/setup.R @@ -0,0 +1,6 @@ +for (fname in Sys.glob("tab_navigation/*")) { + source(fname) +} + +# Load application support files into testing environment +shinytest2::load_app_env() diff --git a/tests/testthat/tab_navigation/upload_example.R b/tests/testthat/tab_navigation/upload_example.R new file mode 100644 index 0000000..f7ec583 --- /dev/null +++ b/tests/testthat/tab_navigation/upload_example.R @@ -0,0 +1,32 @@ +upload_basic <- function(app) { + app$set_inputs(filter_sidebar = c("samplefilt_collapse", "massfilt_collapse", "molfilt_collapse", + "formfilt_collapse")) + app$set_inputs(select = character(0)) + app$set_inputs(isotope_yn = character(0)) + app$set_inputs(data_scale = "abundance") + app$set_inputs(upload_collapse = "file_upload") + app$set_inputs(file_edata = character(0)) + app$set_inputs(file_emeta = character(0)) + app$click("element_dropdown") + app$click("upload_click") + app$set_inputs(top_page = "data_requirements") + app$set_inputs(top_page = "Resources/Contact") + app$set_inputs(top_page = "Upload") + app$upload_file(file_edata = "../../Data/example12T_edata.csv") + app$wait_for_value(input="edata_id_col") + app$set_inputs(edata_id_col = "Mass") + app$upload_file(file_emeta = "../../Data/example12T_emeta.csv") + app$set_inputs(upload_collapse = "column_info") + app$set_inputs(select = "2") + app$click("element_dropdown") + app$set_inputs(element_dropdown_state = TRUE) + app$set_inputs(element_dropdown_state = FALSE) + app$set_inputs(isotope_yn = "2") + app$click("upload_click") + + # app$expect_values() + + btn_value = app$wait_for_value(input = "upload_dismiss") + + return(app) +} \ No newline at end of file diff --git a/tests/testthat/test_full_pipeline_basic.R b/tests/testthat/test_full_pipeline_basic.R new file mode 100644 index 0000000..49bfeef --- /dev/null +++ b/tests/testthat/test_full_pipeline_basic.R @@ -0,0 +1,184 @@ +library(shinytest2) + +context("basic-workflow") + +test_that("Basic Tests", { + app <- AppDriver$new(name = "FREDA", height = 1199, width = 1299) + app <- upload_basic(app) + + ### Make Groups + message("Testing groups tab...") + app$click("goto_groups") + app$set_inputs(group_name = "G1") + app$set_inputs(group_samples = "EM0011_sample") + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", + "EM0067_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", + "EM0067_sample", "EM0069_sample")) + app$click("add_group") + + app$set_inputs(group_name = "G2") + app$click("add_group") + + groups_list <- app$get_value(export = "groups_list") + expect_setequal(groups_list$G1, c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", + "EM0063_sample", "EM0065_sample", "EM0067_sample", + "EM0069_sample")) + expect_setequal(groups_list$G2, c("EW0111_sample", "EW0113_sample", "EW0115_sample", + "EW0117_sample", "EW0119_sample", "EW0161_sample", + "EW0163_sample", "EW0165_sample", "EW0167_sample", + "EW0169_sample")) + + app$click("add_group") + app$expect_values(output = "group_table", screenshot_args = FALSE) + + message("Testing preprocess tab...") + ### Preprocessing + app$click("goto_preprocess_main") + app$wait_for_value(input = "tests") + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma", "calc_dbe")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma", "calc_dbe", "assign_elemental_composition")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma", "calc_dbe", "assign_elemental_composition", "assign_class;bs1")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma", "calc_dbe", "assign_elemental_composition", "assign_class;bs1", + "assign_class;bs2")) + app$set_inputs(tests = c("calc_element_ratios", "calc_kendrick", "calc_nosc", "calc_gibbs", + "calc_aroma", "calc_dbe", "assign_elemental_composition", "assign_class;bs1", + "assign_class;bs2", "assign_class;bs3")) + + app$wait_for_value(input = "base_unit") + app$set_inputs(base_unit = c("CH2", "CO2")) + app$set_inputs(base_unit = c("CH2", "CO2", "H2")) + app$set_inputs(base_unit = c("CH2", "CO2", "H2", "H2O")) + app$set_inputs(base_unit = c("CH2", "CO2", "H2", "H2O", "CHO")) + app$click("preprocess_click") + + app$wait_for_value(input = "preprocess_dismiss") + app$click("preprocess_dismiss") + + app$wait_for_value(output = "preprocess_hist") + app$expect_values( + output = c("preprocess_hist", "numeric_summary", "categorical_summary"), + screenshot_args = FALSE + ) + + uploaded_data <- app$get_value(export = "uploaded_data_processed") + expected_cols = c('Mass', 'C', 'H', 'O', 'N', 'C13', 'S', 'P', 'Error', + 'NeutralMass', 'MolForm', 'OtoC_ratio', 'HtoC_ratio', + 'NtoC_ratio', 'PtoC_ratio', 'NtoP_ratio', 'kmass.CH2', + 'kdefect.CH2', 'NOSC', 'GFE', 'AI', 'AI_Mod', 'DBE_1', + 'DBE_O', 'DBE_AI', 'ElComposition', 'bs1_class', + 'bs2_class', 'bs3_class', 'kmass.CO2', 'kmass.H2', + 'kmass.H2O', 'kmass.CHO', 'kdefect.CO2', 'kdefect.H2', + 'kdefect.H2O', 'kdefect.CHO') + + expect_setequal(colnames(uploaded_data$e_meta), expected_cols) + + message("Testing filter tab...") + ### Filter + app$set_inputs(top_page = "Filter") + app$set_inputs(samplefilter = TRUE) + app$set_inputs(max_mass = 870) + app$set_inputs(massfilter = TRUE) + app$set_inputs(molfilter = TRUE) + app$set_inputs(formfilter = TRUE) + app$set_inputs(filter_sidebar = c("samplefilt_collapse", "massfilt_collapse", "molfilt_collapse", + "formfilt_collapse", "customfilt_collapse")) + app$set_inputs(customfilterz = TRUE) + app$set_inputs(filter_sidebar = c("samplefilt_collapse", "massfilt_collapse", "molfilt_collapse", + "formfilt_collapse", "customfilt_collapse", "customfilt_collapse")) + app$set_inputs(custom1 = "C") + + app$click("filter_click") + + btn_value = app$wait_for_value(input = "filter_dismiss") + app$click("filter_dismiss") + + message("Testing visualization tab...") + ### Visualization + app$click("goto_viz") + app$set_inputs(choose_single = "1") + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(choose_single = "3") + app$set_inputs(summary_fxn = "uniqueness_gtest") + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(summary_fxn = "uniqueness_nsamps") + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(chooseplots = "Kendrick Plot") + app$set_inputs(choose_single = "2") + app$set_inputs(viz_sidebar = c("axlabs", "peakplots")) + app$set_inputs(whichSamples = "EM0011_sample") + app$set_inputs(whichSamples = c("EM0011_sample", "EM0013_sample")) + app$set_inputs(viz_sidebar = "axlabs") + app$set_inputs(whichSamples = c("EM0011_sample", "EM0013_sample", "EM0015_sample")) + app$set_inputs(whichSamples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0067_sample")) + app$set_inputs(whichSamples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0067_sample", "EW0111_sample")) + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(choose_single = "1") + app$click("plot_submit") + app$set_inputs(top_page = "Glossary") + app$set_inputs(top_page = "Visualize") + app$set_inputs(chooseplots = "Kendrick Plot") + app$set_inputs(choose_single = "3") + app$set_inputs(summary_fxn = "uniqueness_gtest") + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(chooseplots = "Custom Scatter Plot") + app$set_inputs(whichSamples = "EM0019_sample") + app$set_inputs(viz_sidebar = c("axlabs", "reactive_plot_opts")) + app$set_inputs(vk_colors = "uniqueness_gtest") + app$set_inputs(scatter_x = "N") + app$set_inputs(scatter_y = "HtoC_ratio") + app$click("plot_submit") + app$click("saveplot") + app$set_inputs(chooseplots = "PCOA Plot") + app$set_inputs(choose_dist = "gower") + app$set_inputs(title_input = "My") + app$set_inputs(title_input = "MyTitle") + app$click("plot_submit") + app$click("saveplot") + + ### Download + app$set_inputs(top_page = "Download") + app$set_inputs(download_selection = c("separate", "merged", "group_data")) + app$set_inputs(download_mappings = TRUE) + app$set_inputs(download_plot_table_rows_selected="1", allow_no_input_binding=TRUE) + app$click("mark_plot_download") + app$set_inputs(download_plot_table_rows_selected="3", allow_no_input_binding=TRUE) + app$click("mark_plot_download") + app$set_inputs(download_plot_table_rows_selected="4", allow_no_input_binding=TRUE) + app$click("mark_plot_download") + app$set_inputs(download_plot_table_rows_selected="5", allow_no_input_binding=TRUE) + app$click("mark_plot_download") + + app$set_inputs(download_img_width = 1500) + app$click("makezipfile") +}) diff --git a/tests/testthat/test_upload.R b/tests/testthat/test_upload.R new file mode 100644 index 0000000..99f52c8 --- /dev/null +++ b/tests/testthat/test_upload.R @@ -0,0 +1,35 @@ +library(shinytest2) + +test_that("testing the upload tab", { + context("basic-upload") + app <- AppDriver$new(name = "FREDA", height = 1199, width = 800) + app <- upload_basic(app) + + app$click("upload_dismiss") + + # Check that some inputs are corretly set + c_col <- app$get_value(input = "c_column") + n_col <- app$get_value(input = "n_column") + s_col <- app$get_value(input = "s_column") + h_col <- app$get_value(input = "h_column") + o_col <- app$get_value(input = "o_column") + p_col <- app$get_value(input = "p_column") + + expect_equal(c_col, "C") + expect_equal(n_col, "N") + expect_equal(s_col, "S") + expect_equal(h_col, "H") + expect_equal(o_col, "O") + expect_equal(p_col, "P") + + # Check data successfully stored and properties are correct. + uploaded_data <- app$get_value(export="uploaded_data") + expect_s3_class(uploaded_data, c("peakData", "ftmsData")) + print(all(dim(uploaded_data$e_data) == c(24442, 21))) + expect_true(all(dim(uploaded_data$e_data) == c(24442, 21))) + expect_true(all(dim(uploaded_data$f_data) == c(20, 2))) + expect_true(all(dim(uploaded_data$e_meta) == c(24442, 11))) + + mysumm <- summary(uploaded_data) + expect_equal(mysumm$Percent_Missing, 81.63714) +}) From 815a9ac80dbbc4e94da5c7c78814634f00b73513 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 12:44:51 -0700 Subject: [PATCH 04/12] remove setup-r-dependencies action --- .github/workflows/test-app.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-app.yaml b/.github/workflows/test-app.yaml index f76e240..425c3e9 100644 --- a/.github/workflows/test-app.yaml +++ b/.github/workflows/test-app.yaml @@ -38,15 +38,15 @@ jobs: http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v2 - with: - extra-packages: - shinytest2 - - uses: r-lib/actions/setup-renv@v2 with: cache-version: 2 - + + - name: Install extra dependencies + run: | + install.packages("shinytest2") + shell: Rscript {0} + - uses: rstudio/shinytest2/actions/test-app@v1 with: path: "." \ No newline at end of file From dd8b524861558bf702646cc87409cd1d3e3e98d4 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 12:55:07 -0700 Subject: [PATCH 05/12] edit github token --- .github/workflows/test-app.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-app.yaml b/.github/workflows/test-app.yaml index 425c3e9..dfa31c2 100644 --- a/.github/workflows/test-app.yaml +++ b/.github/workflows/test-app.yaml @@ -23,7 +23,7 @@ jobs: - {os: ubuntu-latest, r: release} env: - GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + GITHUB_PAT: ${{ secrets.EXTERNAL_GITHUB_TOKEN }} GITLAB_PAT: ${{ secrets.GITLAB_TOKEN }} R_KEEP_PKG_SOURCE: yes From d80edef8873e3cc62a3342c4451e778169ac6a28 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 13:39:43 -0700 Subject: [PATCH 06/12] custom renv action --- .github/actions/renv-plus/LICENSE | 25 ++++++++++++++ .github/actions/renv-plus/README.md | 32 ++++++++++++++++++ .github/actions/renv-plus/action.yaml | 48 +++++++++++++++++++++++++++ .github/workflows/test-app.yaml | 3 +- 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 .github/actions/renv-plus/LICENSE create mode 100644 .github/actions/renv-plus/README.md create mode 100644 .github/actions/renv-plus/action.yaml diff --git a/.github/actions/renv-plus/LICENSE b/.github/actions/renv-plus/LICENSE new file mode 100644 index 0000000..71d3725 --- /dev/null +++ b/.github/actions/renv-plus/LICENSE @@ -0,0 +1,25 @@ +The MIT License (MIT) +===================== + +Copyright © 2021 RStudio and others. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/.github/actions/renv-plus/README.md b/.github/actions/renv-plus/README.md new file mode 100644 index 0000000..f1ac2c3 --- /dev/null +++ b/.github/actions/renv-plus/README.md @@ -0,0 +1,32 @@ +# setup-renv + +[![RStudio community](https://img.shields.io/badge/community-github--actions-blue?style=social&logo=rstudio&logoColor=75AADB)](https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions) + +This action installs dependencies for the current R environment based on the renv lockfile in the repository by: + +- Installing [renv](https://rstudio.github.io/renv/articles/renv.html) +- Setting up a dependency cache using [actions/cache](https://github.com/actions/cache). + +# Usage + +Inputs available + +- `cache-version` - default `1`. If you need to invalidate the existing cache pass any other number and a new cache will be used. + +Basic: +```yaml +steps: +- uses: actions/checkout@v2 +- uses: r-lib/actions/setup-r@v2 +- uses: r-lib/actions/setup-renv@v2 + with: + cache-version: 2 +``` + +# License + +The scripts and documentation in this project are released under the [MIT License](LICENSE) + +# Contributions + +Contributions are welcome! diff --git a/.github/actions/renv-plus/action.yaml b/.github/actions/renv-plus/action.yaml new file mode 100644 index 0000000..5dd9531 --- /dev/null +++ b/.github/actions/renv-plus/action.yaml @@ -0,0 +1,48 @@ +name: 'setup-renv' +description: 'Action to setup renv and install R dependencies in the lockfile' +author: 'Jim Hester' +inputs: + restore-args: + description: 'Arguments passed to renv::restore()' + default: '' + cache-version: + description: 'The version of the cache, change this from the default (1) to start over with a fresh cache' + required: true + default: 1 +runs: + using: "composite" + steps: + - name: Set RENV_PATHS_ROOT + shell: bash + run: | + echo "RENV_PATHS_ROOT=${{ runner.temp }}/renv" >> $GITHUB_ENV + - name: Install and activate renv + run: | + install.packages("renv") + renv::activate() + shell: Rscript {0} + + - name: Get R and OS version + id: get-version + run: | + cat("##[set-output name=os-version;]", sessionInfo()$running, "\n", sep = "") + cat("##[set-output name=r-version;]", R.Version()$version.string, sep = "") + shell: Rscript {0} + + - name: Restore Renv package cache + uses: actions/cache@v2 + with: + path: ${{ env.RENV_PATHS_ROOT }} + key: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-${{inputs.cache-version }}-${{ hashFiles('renv.lock') }} + restore-keys: ${{ steps.get-version.outputs.os-version }}-${{ steps.get-version.outputs.r-version }}-${{inputs.cache-version }}- + + - name: Install renv dependencies + run: renv::restore(${{ inputs.restore-args }}) + shell: Rscript {0} + + - name: Don't use tar 1.30 from Rtools35 to store the cache + shell: bash + run: | + if command -v /c/Rtools/bin/tar && /c/Rtools/bin/tar --version | grep -q 'tar (GNU tar) 1.30' + then echo 'C:/Program Files/Git/usr/bin' >> $GITHUB_PATH + fi \ No newline at end of file diff --git a/.github/workflows/test-app.yaml b/.github/workflows/test-app.yaml index dfa31c2..fd7a725 100644 --- a/.github/workflows/test-app.yaml +++ b/.github/workflows/test-app.yaml @@ -38,9 +38,10 @@ jobs: http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-renv@v2 + - uses: ./.github/actions/renv-plus with: cache-version: 2 + restore-args: 'exclude = "mapDataAccess"' - name: Install extra dependencies run: | From f188e2b291f06e0ab5b5fa2ad59da13e82329f3b Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 14:14:59 -0700 Subject: [PATCH 07/12] update lockfile --- renv.lock | 204 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 161 insertions(+), 43 deletions(-) diff --git a/renv.lock b/renv.lock index 26aba47..e151720 100644 --- a/renv.lock +++ b/renv.lock @@ -11,10 +11,13 @@ "Packages": { "DT": { "Package": "DT", - "Version": "0.19", + "Version": "0.25", "Source": "Repository", "Repository": "CRAN", - "Hash": "6df7d86466f183ab0edcd8e6050b38e1" + "Hash": "d35337fd4278be35c50d7eeeec439f68", + "Requirements": [ + "htmlwidgets" + ] }, "KeggData": { "Package": "KeggData", @@ -26,7 +29,8 @@ "RemoteUsername": "lmbramer", "RemoteRef": "new_dbmappings", "RemoteSha": "bd6bf12f1bbbd3d0543962e1729dd61271f3e3a8", - "Hash": "ce03ab7b4111dd280f973574c02d3830" + "Hash": "ce03ab7b4111dd280f973574c02d3830", + "Requirements": [] }, "MetaCycData": { "Package": "MetaCycData", @@ -38,14 +42,16 @@ "RemoteUsername": "EMSL-computing", "RemoteRef": "new_dbmappings", "RemoteSha": "e103875c4cbdd33bfacadbbc24ebb801ee4992ab", - "Hash": "b35d881fa52fefba6c57652ae399e218" + "Hash": "b35d881fa52fefba6c57652ae399e218", + "Requirements": [] }, "RColorBrewer": { "Package": "RColorBrewer", "Version": "1.1-2", "Source": "Repository", "Repository": "CRAN", - "Hash": "e031418365a7f7a766181ab5a41a5716" + "Hash": "e031418365a7f7a766181ab5a41a5716", + "Requirements": [] }, "datadr": { "Package": "datadr", @@ -57,14 +63,21 @@ "RemoteUsername": "delta-rho", "RemoteRef": "HEAD", "RemoteSha": "f3ffebd8e1c43a5d11cd3543bbe672c88f8c52f3", - "Hash": "4ddf60dd3cd5d3baf559f44d872fc74e" + "Hash": "4ddf60dd3cd5d3baf559f44d872fc74e", + "Requirements": [ + "dplyr" + ] }, "dplyr": { "Package": "dplyr", "Version": "1.0.7", "Source": "Repository", "Repository": "CRAN", - "Hash": "36f1ae62f026c8ba9f9b5c9a08c03297" + "Hash": "36f1ae62f026c8ba9f9b5c9a08c03297", + "Requirements": [ + "rlang", + "tibble" + ] }, "ftmsRanalysis": { "Package": "ftmsRanalysis", @@ -73,38 +86,69 @@ "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteRepo": "ftmsRanalysis", - "RemoteUsername": "EMSL-computing", - "RemoteRef": "HEAD", - "RemoteSha": "6df6a14b2fbeb14f9578b058ba83dee2aba24b7b", - "Hash": "205ba328b26ecddbf46a14c5617385d2" + "RemoteUsername": "EMSL-Computing", + "RemoteRef": "CoreMS-compatibility-rb", + "RemoteSha": "ebc788a659a6a1445374b72025c1838d2c53e22e", + "Hash": "1a929761f2ea912e91949bd140eef7ca", + "Requirements": [ + "RColorBrewer", + "dplyr", + "ggplot2", + "plotly", + "readr", + "reshape2", + "rlang", + "scales", + "stringr", + "tibble", + "tidyr" + ] }, "ggplot2": { "Package": "ggplot2", "Version": "3.3.5", "Source": "Repository", "Repository": "CRAN", - "Hash": "d7566c471c7b17e095dd023b9ef155ad" + "Hash": "d7566c471c7b17e095dd023b9ef155ad", + "Requirements": [ + "rlang", + "scales", + "tibble", + "withr" + ] }, "htmlwidgets": { "Package": "htmlwidgets", "Version": "1.5.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "76147821cd3fcd8c4b04e1ef0498e7fb" + "Hash": "76147821cd3fcd8c4b04e1ef0498e7fb", + "Requirements": [] }, "kableExtra": { "Package": "kableExtra", "Version": "1.3.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "49b625e6aabe4c5f091f5850aba8ff78" + "Hash": "49b625e6aabe4c5f091f5850aba8ff78", + "Requirements": [ + "knitr", + "rmarkdown", + "scales", + "stringr", + "webshot" + ] }, "knitr": { "Package": "knitr", "Version": "1.37", "Source": "Repository", "Repository": "CRAN", - "Hash": "a4ec675eb332a33fe7b7fe26f70e1f98" + "Hash": "a4ec675eb332a33fe7b7fe26f70e1f98", + "Requirements": [ + "stringr", + "xfun" + ] }, "mapDataAccess": { "Package": "mapDataAccess", @@ -116,175 +160,249 @@ "RemoteUsername": "multiomics-analyses", "RemoteRef": "HEAD", "RemoteSha": "12e6bd1e85a406a0d28b636f8c23754d81745ac5", - "Hash": "16970b5f8a17a3d5e2dc74911b59c0b2" + "Hash": "16970b5f8a17a3d5e2dc74911b59c0b2", + "Requirements": [ + "reticulate" + ] }, "markdown": { "Package": "markdown", "Version": "1.1", "Source": "Repository", "Repository": "CRAN", - "Hash": "61e4a10781dd00d7d81dd06ca9b94e95" + "Hash": "61e4a10781dd00d7d81dd06ca9b94e95", + "Requirements": [ + "xfun" + ] }, "pander": { "Package": "pander", "Version": "0.6.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "0eae8a954e0c51bd356f8c6f0e00e805" + "Hash": "0eae8a954e0c51bd356f8c6f0e00e805", + "Requirements": [] }, "plotly": { "Package": "plotly", "Version": "4.9.4.1", "Source": "Repository", "Repository": "CRAN", - "Hash": "af4b92cb3828aa30002e2f945c49c2d7" + "Hash": "af4b92cb3828aa30002e2f945c49c2d7", + "Requirements": [ + "RColorBrewer", + "dplyr", + "ggplot2", + "htmlwidgets", + "purrr", + "rlang", + "scales", + "tibble", + "tidyr" + ] }, "purrr": { "Package": "purrr", "Version": "0.3.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "97def703420c8ab10d8f0e6c72101e02" + "Hash": "97def703420c8ab10d8f0e6c72101e02", + "Requirements": [ + "rlang" + ] }, "raster": { "Package": "raster", "Version": "3.4-13", "Source": "Repository", "Repository": "CRAN", - "Hash": "4543b272b756a4ff0f80370c886ef90a" + "Hash": "4543b272b756a4ff0f80370c886ef90a", + "Requirements": [ + "sp" + ] }, "readr": { "Package": "readr", "Version": "2.0.2", "Source": "Repository", "Repository": "CRAN", - "Hash": "7cb2c3ecfbc2c6786221d2c0c1f6ed68" + "Hash": "7cb2c3ecfbc2c6786221d2c0c1f6ed68", + "Requirements": [ + "rlang", + "tibble" + ] }, "renv": { "Package": "renv", - "Version": "0.14.0", + "Version": "0.15.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "30e5eba91b67f7f4d75d31de14bbfbdc" + "Hash": "c1078316e1d4f70275fc1ea60c0bc431", + "Requirements": [] }, "reshape2": { "Package": "reshape2", "Version": "1.4.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "bb5996d0bd962d214a11140d77589917" + "Hash": "bb5996d0bd962d214a11140d77589917", + "Requirements": [ + "stringr" + ] }, "reticulate": { "Package": "reticulate", "Version": "1.22", "Source": "Repository", "Repository": "CRAN", - "Hash": "b34a8bb69005168078d1d546a53912b2" + "Hash": "b34a8bb69005168078d1d546a53912b2", + "Requirements": [ + "withr" + ] }, "rlang": { "Package": "rlang", - "Version": "1.0.2", + "Version": "1.0.6", "Source": "Repository", "Repository": "CRAN", - "Hash": "04884d9a75d778aca22c7154b8333ec9" + "Hash": "4ed1f8336c8d52c3e750adcdc57228a7", + "Requirements": [] }, "rmarkdown": { "Package": "rmarkdown", "Version": "2.13", "Source": "Repository", "Repository": "CRAN", - "Hash": "ac78f4d2e0289d4cba73b88af567b8b1" + "Hash": "ac78f4d2e0289d4cba73b88af567b8b1", + "Requirements": [ + "knitr", + "stringr", + "xfun" + ] }, "scales": { "Package": "scales", "Version": "1.1.1", "Source": "Repository", "Repository": "CRAN", - "Hash": "6f76f71042411426ec8df6c54f34e6dd" + "Hash": "6f76f71042411426ec8df6c54f34e6dd", + "Requirements": [ + "RColorBrewer" + ] }, "shiny": { "Package": "shiny", "Version": "1.6.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "6e3b6ae7fe02b5859e4bb277f218b8ae" + "Hash": "6e3b6ae7fe02b5859e4bb277f218b8ae", + "Requirements": [ + "rlang", + "withr" + ] }, "shinyBS": { "Package": "shinyBS", "Version": "0.61", "Source": "Repository", "Repository": "CRAN", - "Hash": "f895dafd39733c4a70d425f605a832e7" + "Hash": "f895dafd39733c4a70d425f605a832e7", + "Requirements": [ + "shiny" + ] }, "shinyWidgets": { "Package": "shinyWidgets", "Version": "0.6.2", "Source": "Repository", "Repository": "CRAN", - "Hash": "9bdabea3a78fd6a0768c2a319d36264e" + "Hash": "9bdabea3a78fd6a0768c2a319d36264e", + "Requirements": [ + "shiny" + ] }, "shinycssloaders": { "Package": "shinycssloaders", "Version": "1.0.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "f39bb3c44a9b496723ec7e86f9a771d8" + "Hash": "f39bb3c44a9b496723ec7e86f9a771d8", + "Requirements": [ + "shiny" + ] }, "shinyjs": { "Package": "shinyjs", "Version": "2.0.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "9ddfc91d4280eaa34c2103951538976f" + "Hash": "9ddfc91d4280eaa34c2103951538976f", + "Requirements": [ + "shiny" + ] }, "sp": { "Package": "sp", "Version": "1.4-5", "Source": "Repository", "Repository": "CRAN", - "Hash": "dfd843ee98246cf932823acf613b05dd" + "Hash": "dfd843ee98246cf932823acf613b05dd", + "Requirements": [] }, "stringr": { "Package": "stringr", "Version": "1.4.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "0759e6b6c0957edb1311028a49a35e76" + "Hash": "0759e6b6c0957edb1311028a49a35e76", + "Requirements": [] }, "tibble": { "Package": "tibble", "Version": "3.1.5", "Source": "Repository", "Repository": "CRAN", - "Hash": "36eb05ad4cfdfeaa56f5a9b2a1311efd" + "Hash": "36eb05ad4cfdfeaa56f5a9b2a1311efd", + "Requirements": [ + "rlang" + ] }, "tidyr": { "Package": "tidyr", "Version": "1.1.4", "Source": "Repository", "Repository": "CRAN", - "Hash": "c8fbdbd9fcac223d6c6fe8e406f368e1" + "Hash": "c8fbdbd9fcac223d6c6fe8e406f368e1", + "Requirements": [ + "dplyr", + "purrr", + "rlang", + "tibble" + ] }, "webshot": { "Package": "webshot", "Version": "0.5.2", "Source": "Repository", "Repository": "CRAN", - "Hash": "e99d80ad34457a4853674e89d5e806de" + "Hash": "e99d80ad34457a4853674e89d5e806de", + "Requirements": [] }, "withr": { "Package": "withr", - "Version": "2.4.2", + "Version": "2.5.0", "Source": "Repository", "Repository": "CRAN", - "Hash": "ad03909b44677f930fa156d47d7a3aeb" + "Hash": "c0e49a9760983e81e55cdd9be92e7182", + "Requirements": [] }, "xfun": { "Package": "xfun", "Version": "0.30", "Source": "Repository", "Repository": "CRAN", - "Hash": "e83f48136b041845e50a6658feffb197" + "Hash": "e83f48136b041845e50a6658feffb197", + "Requirements": [] } } } From 421ba7b968d836ec0c00b71f400dd5098fbff0ee Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 14:36:46 -0700 Subject: [PATCH 08/12] add system dependencies --- .github/workflows/test-app.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-app.yaml b/.github/workflows/test-app.yaml index fd7a725..d68a9d8 100644 --- a/.github/workflows/test-app.yaml +++ b/.github/workflows/test-app.yaml @@ -37,7 +37,11 @@ jobs: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - + + - name: Install system dependencies + run: | + sudo apt-get install libcurl4-openssl-dev libv8-dev + - uses: ./.github/actions/renv-plus with: cache-version: 2 From d1f4a1da38cbbe32ac87f0f77def37262afd3427 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 15:12:14 -0700 Subject: [PATCH 09/12] move library(mapDataAccess) to startup observer --- Observers/startup_observers.R | 1 + global.R | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Observers/startup_observers.R b/Observers/startup_observers.R index 0e5474e..40ab134 100644 --- a/Observers/startup_observers.R +++ b/Observers/startup_observers.R @@ -5,6 +5,7 @@ observe({ # establish minio connection if we are pulling cloud resources if(any(names(query) %in% VALID_MINIO_HEADER_PARAMS)) { + library(mapDataAccess) minio_con <<- mapDataAccess::map_data_connection("./cfg/minio_config.yml") } diff --git a/global.R b/global.R index 8f99a9d..8fb7bfe 100644 --- a/global.R +++ b/global.R @@ -18,7 +18,6 @@ library(readr) library(plotly) library(DT) library(shinycssloaders) -library(mapDataAccess) # uncomment either library() or load_all() if you need to load kegg library(KeggData) From 937cea96dbf00a2279f62c8a4771c69cba861603 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Fri, 14 Oct 2022 15:58:59 -0700 Subject: [PATCH 10/12] remove snapshot based expectations --- .../_snaps/full_pipeline_basic/FREDA-001.json | 88 - .../_snaps/full_pipeline_basic/FREDA-002.json | 24810 ---------------- tests/testthat/test_full_pipeline_basic.R | 9 +- 3 files changed, 1 insertion(+), 24906 deletions(-) delete mode 100644 tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json delete mode 100644 tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json diff --git a/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json b/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json deleted file mode 100644 index f0c5fae..0000000 --- a/tests/testthat/_snaps/full_pipeline_basic/FREDA-001.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "output": { - "group_table": { - "x": { - "filter": "none", - "vertical": false, - "container": "\n \n \n
<\/th>\n Group Name<\/th>\n Group Samples<\/th>\n Filtered Samples<\/th>\n <\/tr>\n <\/thead>\n<\/table>", - "options": { - "scrollX": true, - "columnDefs": [ - { - "orderable": false, - "targets": 0 - } - ], - "order": [ - - ], - "autoWidth": false, - "orderClasses": false, - "ajax": { - "type": "POST", - "data": "function(d) {\nd.search.caseInsensitive = true;\nd.search.smart = true;\nd.escape = true;\nvar encodeAmp = function(x) { x.value = x.value.replace(/&/g, \"%26\"); }\nencodeAmp(d.search);\n$.each(d.columns, function(i, v) {encodeAmp(v.search);});\n}" - }, - "serverSide": true, - "processing": true - }, - "selection": { - "mode": "single", - "selected": null, - "target": "row", - "selectable": null - } - }, - "evals": [ - "options.ajax.data" - ], - "jsHooks": [ - - ], - "deps": [ - { - "name": "jquery", - "version": "3.6.0", - "src": { - "href": "jquery-3.6.0" - }, - "meta": null, - "script": "jquery-3.6.0.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "dt-core", - "version": "1.11.3", - "src": { - "href": "dt-core-1.11.3" - }, - "meta": null, - "script": "js/jquery.dataTables.min.js", - "stylesheet": [ - "css/jquery.dataTables.min.css", - "css/jquery.dataTables.extra.css" - ], - "head": null, - "attachment": null, - "package": null, - "all_files": false - }, - { - "name": "crosstalk", - "version": "1.1.1", - "src": { - "href": "crosstalk-1.1.1" - }, - "meta": null, - "script": "js/crosstalk.min.js", - "stylesheet": "css/crosstalk.css", - "head": null, - "attachment": null, - "all_files": true - } - ] - } - } -} diff --git a/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json b/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json deleted file mode 100644 index 2e474db..0000000 --- a/tests/testthat/_snaps/full_pipeline_basic/FREDA-002.json +++ /dev/null @@ -1,24810 +0,0 @@ -{ - "output": { - "categorical_summary": { - "html": "
<\/div>\n
<\/div>\n
<\/div>\n
<\/div>", - "deps": [ - { - "name": "htmlwidgets", - "version": "1.5.4", - "src": { - "href": "htmlwidgets-1.5.4" - }, - "meta": null, - "script": "htmlwidgets.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "datatables-css", - "version": "0.0.0", - "src": { - "href": "datatables-css-0.0.0" - }, - "meta": null, - "script": null, - "stylesheet": "datatables-crosstalk.css", - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "datatables-binding", - "version": "0.25", - "src": { - "href": "datatables-binding-0.25" - }, - "meta": null, - "script": "datatables.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": false - }, - { - "name": "jquery", - "version": "3.5.1", - "src": { - "href": "jquery-3.5.1" - }, - "meta": null, - "script": "jquery.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "crosstalk", - "version": "1.1.1", - "src": { - "href": "crosstalk-1.1.1" - }, - "meta": null, - "script": "js/crosstalk.min.js", - "stylesheet": "css/crosstalk.css", - "head": null, - "attachment": null, - "all_files": true - } - ] - }, - "numeric_summary": { - "x": { - "filter": "none", - "vertical": false, - "container": "\n \n \n
<\/th>\n Min<\/th>\n Mean<\/th>\n Median<\/th>\n Max<\/th>\n <\/tr>\n <\/thead>\n<\/table>", - "options": { - "dom": "t", - "pageLength": 10, - "columnDefs": [ - { - "targets": 1, - "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" - }, - { - "targets": 2, - "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" - }, - { - "targets": 3, - "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" - }, - { - "targets": 4, - "render": "function(data, type, row, meta) {\n return type !== 'display' ? data : DTWidget.formatRound(data, 2, 3, \",\", \".\", null);\n }" - }, - { - "className": "dt-right", - "targets": [ - 1, - 2, - 3, - 4 - ] - }, - { - "orderable": false, - "targets": 0 - } - ], - "order": [ - - ], - "autoWidth": false, - "orderClasses": false, - "ajax": { - "type": "POST", - "data": "function(d) {\nd.search.caseInsensitive = true;\nd.search.smart = true;\nd.escape = true;\nvar encodeAmp = function(x) { x.value = x.value.replace(/&/g, \"%26\"); }\nencodeAmp(d.search);\n$.each(d.columns, function(i, v) {encodeAmp(v.search);});\n}" - }, - "serverSide": true, - "processing": true - }, - "selection": { - "mode": "multiple", - "selected": null, - "target": "row", - "selectable": null - } - }, - "evals": [ - "options.columnDefs.0.render", - "options.columnDefs.1.render", - "options.columnDefs.2.render", - "options.columnDefs.3.render", - "options.ajax.data" - ], - "jsHooks": [ - - ], - "deps": [ - { - "name": "jquery", - "version": "3.6.0", - "src": { - "href": "jquery-3.6.0" - }, - "meta": null, - "script": "jquery-3.6.0.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "dt-core", - "version": "1.11.3", - "src": { - "href": "dt-core-1.11.3" - }, - "meta": null, - "script": "js/jquery.dataTables.min.js", - "stylesheet": [ - "css/jquery.dataTables.min.css", - "css/jquery.dataTables.extra.css" - ], - "head": null, - "attachment": null, - "package": null, - "all_files": false - }, - { - "name": "crosstalk", - "version": "1.1.1", - "src": { - "href": "crosstalk-1.1.1" - }, - "meta": null, - "script": "js/crosstalk.min.js", - "stylesheet": "css/crosstalk.css", - "head": null, - "attachment": null, - "all_files": true - } - ] - }, - "preprocess_hist": { - "x": { - "layout": { - "margin": { - "b": 40, - "l": 60, - "t": 25, - "r": 10 - }, - "title": "Observed distribution of ", - "scene": { - "xaxis": { - "title": [ - - ] - }, - "yaxis": { - "title": "Frequency" - } - }, - "xaxis": { - "domain": [ - 0, - 1 - ], - "automargin": true, - "title": [ - - ] - }, - "yaxis": { - "domain": [ - 0, - 1 - ], - "automargin": true - }, - "hovermode": "closest", - "showlegend": false - }, - "source": "A", - "config": { - "showSendToCloud": false - }, - ".plotlyWebGl": true, - "data": [ - { - "x": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 9, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 8, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 9, - 0, - 10, - 11, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 9, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 8, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 9, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 8, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 10, - 11, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 5, - 7, - 0, - 8, - 10, - 0, - 11, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 9, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 10, - 7, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 9, - 0, - 10, - 0, - 7, - 11, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 7, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 10, - 11, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 5, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 7, - 9, - 0, - 0, - 10, - 11, - 0, - 12, - 0, - 13, - 0, - 0, - 0, - 0, - 8, - 11, - 0, - 0, - 7, - 6, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 10, - 0, - 0, - 11, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 12, - 9, - 8, - 10, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 5, - 0, - 11, - 0, - 0, - 10, - 0, - 8, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 8, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 10, - 0, - 0, - 0, - 9, - 7, - 11, - 0, - 8, - 12, - 9, - 9, - 14, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 9, - 0, - 0, - 0, - 10, - 11, - 0, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 10, - 0, - 0, - 9, - 11, - 12, - 0, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 9, - 0, - 10, - 0, - 0, - 0, - 13, - 0, - 0, - 0, - 0, - 9, - 0, - 6, - 0, - 0, - 0, - 10, - 9, - 7, - 11, - 0, - 12, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 8, - 10, - 9, - 0, - 11, - 11, - 12, - 0, - 11, - 13, - 14, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 11, - 11, - 12, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 12, - 9, - 0, - 0, - 9, - 0, - 0, - 13, - 10, - 0, - 9, - 9, - 0, - 11, - 11, - 0, - 0, - 12, - 11, - 11, - 11, - 0, - 13, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 12, - 9, - 11, - 11, - 0, - 0, - 0, - 0, - 11, - 0, - 0, - 8, - 0, - 11, - 12, - 0, - 11, - 0, - 9, - 0, - 0, - 10, - 9, - 11, - 10, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 11, - 11, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 0, - 8, - 0, - 0, - 12, - 0, - 0, - 9, - 0, - 8, - 8, - 13, - 10, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 6, - 0, - 11, - 11, - 8, - 0, - 12, - 7, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 11, - 11, - 8, - 12, - 12, - 11, - 9, - 13, - 13, - 12, - 10, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 0, - 0, - 11, - 11, - 8, - 7, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 11, - 0, - 11, - 0, - 0, - 10, - 10, - 8, - 12, - 12, - 0, - 13, - 0, - 0, - 0, - 0, - 0, - 10, - 10, - 11, - 0, - 11, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 10, - 0, - 0, - 11, - 0, - 10, - 10, - 8, - 12, - 0, - 13, - 14, - 15, - 0, - 0, - 0, - 0, - 0, - 9, - 8, - 0, - 0, - 10, - 8, - 0, - 11, - 0, - 12, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 8, - 0, - 13, - 0, - 0, - 10, - 10, - 0, - 0, - 9, - 5, - 0, - 0, - 11, - 10, - 12, - 11, - 13, - 14, - 15, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 9, - 0, - 0, - 13, - 0, - 0, - 0, - 10, - 9, - 0, - 11, - 0, - 12, - 12, - 0, - 13, - 13, - 0, - 0, - 0, - 7, - 8, - 0, - 0, - 8, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 13, - 0, - 10, - 10, - 0, - 10, - 0, - 9, - 9, - 11, - 11, - 10, - 0, - 12, - 0, - 13, - 0, - 12, - 12, - 14, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 9, - 0, - 9, - 0, - 10, - 11, - 11, - 10, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 9, - 0, - 0, - 0, - 13, - 13, - 10, - 10, - 10, - 9, - 0, - 0, - 11, - 10, - 10, - 12, - 0, - 0, - 0, - 13, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 12, - 12, - 0, - 0, - 9, - 10, - 0, - 9, - 9, - 11, - 0, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 0, - 12, - 11, - 11, - 7, - 9, - 9, - 13, - 12, - 10, - 9, - 14, - 11, - 0, - 15, - 12, - 12, - 0, - 0, - 0, - 0, - 5, - 0, - 0, - 0, - 15, - 11, - 0, - 10, - 0, - 0, - 0, - 12, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 10, - 10, - 0, - 8, - 0, - 12, - 11, - 11, - 9, - 0, - 0, - 13, - 10, - 0, - 14, - 11, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 10, - 0, - 0, - 0, - 11, - 12, - 12, - 10, - 8, - 12, - 9, - 0, - 0, - 0, - 10, - 10, - 0, - 11, - 0, - 10, - 0, - 0, - 12, - 9, - 11, - 9, - 9, - 0, - 13, - 12, - 10, - 14, - 15, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 0, - 11, - 11, - 0, - 0, - 12, - 12, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 14, - 10, - 10, - 0, - 11, - 0, - 10, - 0, - 0, - 8, - 12, - 0, - 11, - 9, - 13, - 0, - 0, - 0, - 14, - 0, - 15, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 10, - 0, - 0, - 0, - 0, - 11, - 11, - 0, - 12, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 7, - 9, - 14, - 0, - 0, - 11, - 10, - 0, - 12, - 0, - 13, - 13, - 14, - 0, - 15, - 0, - 0, - 16, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 13, - 13, - 0, - 0, - 10, - 0, - 0, - 0, - 11, - 10, - 12, - 12, - 13, - 13, - 14, - 14, - 14, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 5, - 5, - 13, - 0, - 12, - 10, - 0, - 7, - 0, - 0, - 9, - 0, - 14, - 0, - 11, - 0, - 11, - 10, - 12, - 11, - 13, - 17, - 14, - 15, - 0, - 0, - 0, - 5, - 0, - 0, - 12, - 9, - 0, - 13, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 10, - 0, - 11, - 12, - 12, - 11, - 13, - 13, - 14, - 0, - 0, - 0, - 0, - 0, - 12, - 8, - 9, - 0, - 0, - 0, - 13, - 9, - 0, - 12, - 12, - 10, - 0, - 9, - 14, - 14, - 0, - 13, - 11, - 10, - 15, - 12, - 12, - 0, - 11, - 13, - 0, - 14, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 13, - 0, - 9, - 0, - 10, - 10, - 9, - 11, - 10, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 0, - 9, - 0, - 13, - 12, - 0, - 14, - 10, - 0, - 9, - 0, - 14, - 13, - 0, - 11, - 0, - 15, - 11, - 0, - 12, - 0, - 0, - 0, - 11, - 0, - 0, - 0, - 0, - 0, - 12, - 8, - 0, - 11, - 0, - 9, - 0, - 0, - 0, - 10, - 14, - 11, - 0, - 0, - 0, - 12, - 0, - 11, - 0, - 9, - 0, - 13, - 0, - 12, - 10, - 0, - 0, - 14, - 11, - 11, - 15, - 0, - 14, - 12, - 16, - 0, - 0, - 0, - 0, - 11, - 7, - 0, - 10, - 10, - 0, - 0, - 0, - 12, - 11, - 0, - 9, - 0, - 9, - 0, - 13, - 0, - 10, - 0, - 0, - 14, - 0, - 0, - 0, - 0, - 11, - 0, - 10, - 0, - 12, - 0, - 11, - 9, - 0, - 0, - 0, - 13, - 12, - 12, - 10, - 14, - 13, - 11, - 0, - 15, - 11, - 0, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 11, - 0, - 10, - 0, - 0, - 0, - 0, - 19, - 12, - 0, - 9, - 0, - 0, - 13, - 14, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 11, - 0, - 0, - 10, - 10, - 15, - 0, - 0, - 0, - 12, - 0, - 11, - 0, - 0, - 9, - 0, - 13, - 0, - 0, - 0, - 14, - 14, - 0, - 0, - 0, - 15, - 0, - 16, - 17, - 0, - 10, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 10, - 0, - 0, - 8, - 19, - 12, - 12, - 0, - 0, - 15, - 0, - 0, - 0, - 0, - 0, - 10, - 9, - 0, - 14, - 0, - 11, - 0, - 10, - 0, - 15, - 0, - 12, - 9, - 0, - 11, - 0, - 9, - 13, - 0, - 14, - 15, - 0, - 0, - 16, - 17, - 0, - 0, - 9, - 0, - 0, - 0, - 17, - 14, - 10, - 10, - 0, - 10, - 14, - 7, - 0, - 0, - 11, - 0, - 0, - 0, - 12, - 13, - 13, - 14, - 15, - 0, - 15, - 15, - 16, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 0, - 10, - 0, - 0, - 0, - 14, - 7, - 0, - 0, - 0, - 0, - 13, - 0, - 9, - 11, - 0, - 0, - 10, - 0, - 0, - 0, - 15, - 0, - 12, - 0, - 12, - 11, - 11, - 13, - 12, - 17, - 14, - 0, - 15, - 0, - 0, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 13, - 6, - 10, - 0, - 12, - 12, - 0, - 0, - 10, - 0, - 0, - 0, - 14, - 14, - 0, - 0, - 13, - 11, - 0, - 11, - 11, - 10, - 0, - 12, - 11, - 13, - 13, - 12, - 14, - 14, - 14, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 17, - 13, - 0, - 12, - 0, - 10, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 18, - 14, - 0, - 13, - 9, - 11, - 10, - 15, - 15, - 12, - 16, - 12, - 0, - 0, - 11, - 13, - 12, - 0, - 17, - 14, - 15, - 0, - 0, - 0, - 12, - 11, - 0, - 0, - 0, - 13, - 0, - 0, - 17, - 0, - 12, - 0, - 10, - 14, - 11, - 11, - 10, - 15, - 11, - 11, - 14, - 0, - 0, - 0, - 0, - 0, - 8, - 12, - 0, - 0, - 0, - 0, - 13, - 0, - 0, - 12, - 0, - 10, - 0, - 9, - 10, - 0, - 14, - 13, - 13, - 11, - 10, - 0, - 15, - 15, - 12, - 0, - 14, - 0, - 19, - 9, - 12, - 11, - 0, - 16, - 13, - 17, - 17, - 14, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 0, - 11, - 0, - 0, - 11, - 0, - 0, - 13, - 9, - 0, - 12, - 0, - 9, - 10, - 0, - 14, - 11, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 0, - 12, - 0, - 11, - 9, - 0, - 0, - 0, - 0, - 0, - 13, - 12, - 10, - 0, - 14, - 15, - 13, - 13, - 10, - 11, - 15, - 11, - 12, - 12, - 11, - 16, - 0, - 15, - 17, - 0, - 0, - 11, - 0, - 0, - 0, - 12, - 0, - 0, - 0, - 9, - 0, - 13, - 10, - 14, - 10, - 13, - 15, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 9, - 11, - 16, - 0, - 9, - 0, - 0, - 0, - 0, - 13, - 0, - 12, - 10, - 10, - 14, - 13, - 13, - 11, - 11, - 0, - 15, - 0, - 14, - 0, - 12, - 0, - 16, - 0, - 17, - 18, - 18, - 0, - 11, - 0, - 0, - 0, - 8, - 0, - 19, - 12, - 12, - 11, - 0, - 0, - 9, - 0, - 0, - 13, - 0, - 10, - 14, - 0, - 0, - 17, - 18, - 0, - 0, - 0, - 11, - 0, - 0, - 15, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 11, - 16, - 0, - 0, - 9, - 0, - 0, - 13, - 10, - 19, - 12, - 10, - 14, - 11, - 0, - 15, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 16, - 17, - 0, - 18, - 0, - 0, - 0, - 0, - 14, - 0, - 15, - 11, - 0, - 11, - 10, - 0, - 0, - 0, - 0, - 15, - 15, - 0, - 12, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 13, - 13, - 13, - 14, - 14, - 16, - 17, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 0, - 10, - 15, - 8, - 0, - 0, - 0, - 0, - 0, - 14, - 0, - 0, - 12, - 0, - 11, - 0, - 16, - 0, - 0, - 0, - 0, - 8, - 13, - 10, - 12, - 10, - 16, - 14, - 15, - 15, - 0, - 16, - 17, - 0, - 18, - 0, - 0, - 0, - 0, - 10, - 0, - 14, - 10, - 15, - 0, - 0, - 14, - 11, - 0, - 11, - 10, - 10, - 0, - 0, - 15, - 11, - 0, - 0, - 0, - 0, - 12, - 8, - 12, - 11, - 11, - 0, - 0, - 9, - 15, - 13, - 13, - 12, - 14, - 0, - 13, - 15, - 16, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 14, - 10, - 0, - 0, - 10, - 6, - 11, - 0, - 8, - 0, - 0, - 10, - 0, - 0, - 15, - 14, - 12, - 0, - 9, - 0, - 11, - 7, - 0, - 16, - 13, - 9, - 15, - 13, - 12, - 12, - 0, - 0, - 0, - 14, - 13, - 18, - 15, - 19, - 0, - 0, - 0, - 16, - 0, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 5, - 0, - 14, - 0, - 0, - 14, - 13, - 0, - 11, - 11, - 11, - 10, - 0, - 15, - 15, - 0, - 12, - 11, - 11, - 0, - 13, - 14, - 13, - 0, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 17, - 9, - 10, - 0, - 0, - 0, - 14, - 0, - 13, - 9, - 0, - 0, - 11, - 0, - 0, - 10, - 19, - 0, - 15, - 0, - 14, - 14, - 10, - 16, - 12, - 11, - 16, - 0, - 0, - 13, - 12, - 0, - 17, - 14, - 0, - 18, - 15, - 15, - 0, - 0, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 6, - 0, - 12, - 12, - 0, - 0, - 10, - 0, - 10, - 0, - 14, - 10, - 0, - 13, - 0, - 0, - 0, - 11, - 0, - 11, - 10, - 15, - 15, - 12, - 11, - 13, - 0, - 12, - 15, - 0, - 0, - 0, - 0, - 17, - 13, - 0, - 12, - 8, - 6, - 0, - 10, - 0, - 0, - 0, - 18, - 14, - 0, - 13, - 11, - 0, - 10, - 10, - 0, - 15, - 12, - 14, - 12, - 0, - 11, - 11, - 16, - 13, - 13, - 17, - 13, - 14, - 18, - 18, - 15, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 0, - 12, - 0, - 0, - 10, - 0, - 0, - 9, - 14, - 0, - 14, - 11, - 0, - 15, - 12, - 12, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 12, - 17, - 0, - 0, - 10, - 10, - 0, - 0, - 0, - 18, - 14, - 13, - 11, - 10, - 15, - 15, - 12, - 14, - 10, - 12, - 12, - 11, - 16, - 12, - 0, - 13, - 12, - 17, - 0, - 0, - 18, - 0, - 0, - 0, - 0, - 0, - 12, - 12, - 11, - 0, - 0, - 20, - 0, - 13, - 12, - 12, - 0, - 10, - 14, - 11, - 11, - 15, - 11, - 15, - 14, - 12, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 12, - 8, - 11, - 7, - 16, - 12, - 0, - 13, - 0, - 12, - 17, - 13, - 0, - 14, - 10, - 0, - 0, - 14, - 13, - 11, - 11, - 15, - 14, - 14, - 12, - 16, - 13, - 15, - 0, - 0, - 0, - 0, - 17, - 0, - 0, - 0, - 18, - 0, - 0, - 11, - 10, - 0, - 12, - 12, - 11, - 0, - 0, - 13, - 0, - 13, - 0, - 12, - 0, - 10, - 0, - 14, - 10, - 14, - 13, - 15, - 16, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 0, - 12, - 12, - 0, - 11, - 16, - 0, - 0, - 0, - 13, - 12, - 17, - 14, - 10, - 14, - 11, - 13, - 11, - 15, - 12, - 16, - 14, - 12, - 16, - 0, - 0, - 0, - 17, - 17, - 18, - 0, - 19, - 0, - 0, - 11, - 11, - 0, - 10, - 0, - 15, - 0, - 0, - 0, - 0, - 0, - 15, - 12, - 12, - 12, - 0, - 11, - 0, - 0, - 16, - 12, - 0, - 9, - 0, - 13, - 13, - 13, - 13, - 0, - 12, - 10, - 0, - 0, - 14, - 14, - 13, - 11, - 15, - 11, - 15, - 15, - 14, - 0, - 0, - 17, - 18, - 0, - 0, - 0, - 10, - 0, - 10, - 0, - 11, - 0, - 12, - 15, - 14, - 12, - 0, - 0, - 0, - 11, - 0, - 8, - 16, - 12, - 0, - 0, - 0, - 15, - 13, - 12, - 8, - 17, - 10, - 9, - 14, - 0, - 13, - 11, - 19, - 15, - 0, - 0, - 16, - 16, - 17, - 0, - 18, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 11, - 0, - 0, - 0, - 0, - 19, - 15, - 0, - 14, - 0, - 0, - 15, - 12, - 12, - 11, - 0, - 16, - 9, - 13, - 9, - 13, - 12, - 10, - 10, - 14, - 14, - 13, - 13, - 0, - 15, - 15, - 0, - 14, - 16, - 16, - 17, - 0, - 0, - 0, - 0, - 18, - 14, - 0, - 11, - 12, - 0, - 0, - 15, - 9, - 0, - 14, - 12, - 9, - 0, - 13, - 11, - 14, - 0, - 16, - 0, - 0, - 15, - 15, - 13, - 0, - 12, - 8, - 0, - 0, - 17, - 14, - 0, - 10, - 14, - 13, - 0, - 0, - 15, - 0, - 0, - 0, - 14, - 14, - 19, - 16, - 20, - 17, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 14, - 10, - 0, - 13, - 0, - 0, - 11, - 0, - 8, - 0, - 11, - 0, - 19, - 15, - 15, - 0, - 0, - 14, - 14, - 12, - 12, - 0, - 0, - 11, - 0, - 0, - 13, - 13, - 13, - 12, - 0, - 0, - 0, - 14, - 0, - 13, - 15, - 15, - 14, - 19, - 16, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 18, - 14, - 14, - 0, - 13, - 9, - 0, - 11, - 0, - 0, - 0, - 10, - 0, - 15, - 0, - 14, - 10, - 0, - 11, - 0, - 18, - 12, - 0, - 0, - 11, - 20, - 0, - 16, - 0, - 15, - 17, - 13, - 0, - 12, - 8, - 0, - 17, - 17, - 14, - 14, - 13, - 0, - 18, - 14, - 0, - 15, - 19, - 19, - 16, - 20, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 0, - 0, - 0, - 15, - 0, - 14, - 0, - 20, - 14, - 13, - 0, - 0, - 0, - 7, - 11, - 0, - 11, - 10, - 0, - 0, - 15, - 15, - 15, - 15, - 12, - 12, - 11, - 16, - 0, - 13, - 12, - 14, - 14, - 13, - 13, - 0, - 15, - 19, - 16, - 0, - 0, - 0, - 0, - 0, - 0, - 17, - 0, - 14, - 13, - 0, - 0, - 7, - 0, - 11, - 0, - 0, - 10, - 15, - 14, - 0, - 0, - 16, - 12, - 0, - 0, - 11, - 16, - 15, - 13, - 12, - 17, - 0, - 0, - 14, - 18, - 14, - 0, - 0, - 15, - 19, - 16, - 0, - 0, - 20, - 0, - 0, - 13, - 10, - 13, - 0, - 13, - 0, - 0, - 0, - 0, - 21, - 14, - 0, - 14, - 14, - 13, - 0, - 0, - 0, - 14, - 11, - 11, - 0, - 0, - 10, - 15, - 0, - 12, - 12, - 11, - 16, - 0, - 13, - 13, - 14, - 15, - 19, - 0, - 0, - 0, - 0, - 12, - 13, - 0, - 12, - 13, - 0, - 10, - 0, - 9, - 14, - 0, - 13, - 0, - 0, - 11, - 11, - 0, - 10, - 19, - 15, - 12, - 14, - 10, - 11, - 9, - 12, - 12, - 0, - 11, - 0, - 16, - 16, - 13, - 13, - 17, - 14, - 13, - 0, - 18, - 0, - 15, - 19, - 0, - 20, - 16, - 0, - 13, - 13, - 0, - 12, - 0, - 13, - 13, - 10, - 0, - 0, - 21, - 0, - 9, - 14, - 14, - 0, - 13, - 11, - 11, - 0, - 10, - 11, - 15, - 12, - 12, - 16, - 13, - 12, - 17, - 14, - 0, - 0, - 0, - 13, - 12, - 8, - 17, - 0, - 10, - 11, - 12, - 0, - 0, - 0, - 0, - 14, - 0, - 13, - 10, - 8, - 0, - 15, - 11, - 0, - 0, - 9, - 15, - 12, - 14, - 10, - 12, - 11, - 16, - 0, - 15, - 17, - 13, - 17, - 14, - 0, - 18, - 18, - 0, - 0, - 0, - 19, - 0, - 12, - 8, - 12, - 0, - 0, - 11, - 0, - 20, - 0, - 0, - 0, - 11, - 13, - 13, - 12, - 0, - 0, - 14, - 21, - 14, - 14, - 13, - 11, - 0, - 0, - 11, - 0, - 0, - 15, - 15, - 14, - 12, - 0, - 16, - 16, - 17, - 0, - 0, - 0, - 0, - 12, - 0, - 0, - 16, - 13, - 12, - 17, - 0, - 0, - 10, - 0, - 14, - 0, - 13, - 13, - 0, - 11, - 15, - 12, - 14, - 11, - 14, - 12, - 16, - 0, - 17, - 13, - 0, - 17, - 0, - 0, - 18, - 12, - 11, - 11, - 0, - 16, - 0, - 0, - 16, - 13, - 13, - 0, - 12, - 0, - 0, - 14, - 14, - 0, - 14, - 0, - 11, - 12, - 11, - 15, - 11, - 15, - 12, - 16, - 16, - 0, - 0, - 17, - 17, - 0, - 0, - 8, - 0, - 0, - 12, - 0, - 11, - 16, - 12, - 0, - 0, - 15, - 13, - 0, - 12, - 0, - 17, - 12, - 0, - 10, - 16, - 14, - 13, - 9, - 0, - 18, - 11, - 11, - 12, - 15, - 12, - 0, - 0, - 12, - 0, - 16, - 0, - 17, - 0, - 17, - 21, - 0, - 18, - 19, - 20, - 0, - 0, - 0, - 0, - 10, - 15, - 0, - 15, - 0, - 19, - 12, - 12, - 0, - 11, - 0, - 16, - 0, - 20, - 13, - 13, - 13, - 12, - 0, - 10, - 10, - 12, - 16, - 11, - 11, - 0, - 14, - 12, - 14, - 0, - 15, - 0, - 0, - 16, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 0, - 0, - 0, - 0, - 0, - 15, - 15, - 11, - 12, - 0, - 11, - 0, - 16, - 16, - 0, - 15, - 11, - 0, - 13, - 0, - 12, - 17, - 11, - 14, - 0, - 13, - 0, - 0, - 18, - 0, - 11, - 15, - 19, - 0, - 0, - 16, - 0, - 0, - 15, - 0, - 20, - 16, - 17, - 21, - 0, - 18, - 19, - 0, - 0, - 0, - 14, - 14, - 0, - 11, - 16, - 19, - 0, - 15, - 0, - 14, - 0, - 15, - 8, - 12, - 0, - 0, - 12, - 11, - 11, - 16, - 16, - 11, - 15, - 10, - 0, - 13, - 13, - 0, - 0, - 12, - 18, - 14, - 14, - 13, - 15, - 0, - 15, - 14, - 14, - 15, - 0, - 19, - 16, - 16, - 16, - 15, - 20, - 17, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 14, - 11, - 15, - 15, - 14, - 0, - 12, - 0, - 11, - 0, - 16, - 15, - 13, - 0, - 12, - 12, - 17, - 14, - 10, - 0, - 16, - 14, - 13, - 13, - 18, - 18, - 0, - 15, - 14, - 19, - 0, - 0, - 0, - 16, - 20, - 17, - 0, - 18, - 0, - 0, - 0, - 0, - 14, - 13, - 0, - 0, - 0, - 11, - 11, - 16, - 9, - 11, - 14, - 15, - 0, - 15, - 14, - 14, - 0, - 0, - 12, - 12, - 12, - 0, - 11, - 16, - 16, - 13, - 13, - 0, - 12, - 0, - 0, - 21, - 0, - 14, - 14, - 13, - 15, - 15, - 15, - 14, - 19, - 16, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 7, - 11, - 18, - 14, - 11, - 0, - 13, - 9, - 0, - 11, - 0, - 0, - 19, - 15, - 9, - 0, - 14, - 0, - 8, - 12, - 9, - 0, - 0, - 11, - 20, - 0, - 16, - 15, - 11, - 13, - 12, - 17, - 16, - 18, - 14, - 0, - 0, - 13, - 18, - 0, - 12, - 12, - 15, - 19, - 16, - 0, - 0, - 20, - 16, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 21, - 0, - 0, - 13, - 14, - 11, - 0, - 14, - 13, - 0, - 0, - 11, - 0, - 16, - 0, - 0, - 0, - 22, - 10, - 8, - 19, - 15, - 0, - 0, - 15, - 0, - 14, - 0, - 12, - 8, - 0, - 0, - 11, - 16, - 0, - 0, - 15, - 13, - 13, - 13, - 12, - 0, - 17, - 15, - 14, - 14, - 13, - 18, - 0, - 15, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 14, - 13, - 0, - 0, - 11, - 11, - 0, - 0, - 0, - 0, - 19, - 15, - 21, - 14, - 11, - 15, - 0, - 12, - 11, - 11, - 16, - 0, - 13, - 15, - 12, - 13, - 12, - 17, - 14, - 13, - 18, - 18, - 0, - 15, - 19, - 19, - 16, - 20, - 16, - 0, - 0, - 0, - 0, - 13, - 9, - 0, - 12, - 0, - 21, - 21, - 21, - 17, - 14, - 14, - 0, - 13, - 0, - 0, - 0, - 0, - 11, - 0, - 10, - 15, - 11, - 0, - 14, - 0, - 12, - 16, - 16, - 16, - 13, - 0, - 17, - 14, - 14, - 18, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 13, - 12, - 17, - 0, - 13, - 14, - 14, - 14, - 0, - 0, - 13, - 0, - 18, - 14, - 0, - 0, - 11, - 0, - 0, - 15, - 14, - 12, - 11, - 16, - 15, - 11, - 13, - 17, - 0, - 0, - 18, - 14, - 18, - 15, - 0, - 15, - 19, - 0, - 0, - 0, - 20, - 0, - 16, - 13, - 13, - 0, - 12, - 0, - 13, - 0, - 17, - 13, - 0, - 0, - 0, - 0, - 0, - 17, - 9, - 9, - 14, - 14, - 13, - 0, - 0, - 0, - 11, - 0, - 15, - 15, - 14, - 0, - 12, - 11, - 16, - 16, - 15, - 17, - 14, - 18, - 0, - 0, - 0, - 17, - 13, - 12, - 8, - 0, - 0, - 17, - 0, - 20, - 0, - 0, - 16, - 12, - 10, - 10, - 14, - 13, - 8, - 0, - 11, - 15, - 12, - 14, - 0, - 0, - 12, - 16, - 11, - 13, - 13, - 17, - 14, - 18, - 14, - 14, - 0, - 18, - 14, - 0, - 0, - 0, - 19, - 0, - 0, - 0, - 0, - 0, - 12, - 12, - 16, - 0, - 16, - 16, - 0, - 0, - 20, - 13, - 13, - 0, - 12, - 12, - 13, - 0, - 17, - 0, - 0, - 0, - 12, - 16, - 21, - 17, - 14, - 14, - 0, - 0, - 13, - 11, - 0, - 0, - 11, - 11, - 15, - 15, - 15, - 14, - 12, - 13, - 16, - 16, - 16, - 17, - 13, - 0, - 17, - 0, - 0, - 0, - 0, - 0, - 16, - 0, - 0, - 17, - 13, - 0, - 0, - 12, - 8, - 0, - 17, - 13, - 0, - 0, - 0, - 16, - 12, - 14, - 0, - 13, - 18, - 11, - 19, - 15, - 12, - 14, - 14, - 11, - 12, - 16, - 0, - 15, - 17, - 13, - 0, - 17, - 0, - 0, - 0, - 18, - 0, - 18, - 0, - 19, - 20, - 21, - 0, - 0, - 0, - 0, - 15, - 12, - 23, - 11, - 0, - 16, - 0, - 15, - 16, - 0, - 0, - 20, - 13, - 0, - 10, - 13, - 12, - 0, - 17, - 0, - 14, - 14, - 14, - 0, - 11, - 15, - 11, - 15, - 14, - 0, - 0, - 0, - 0, - 16, - 0, - 17, - 17, - 16, - 0, - 0, - 11, - 0, - 12, - 16, - 0, - 0, - 15, - 0, - 13, - 0, - 12, - 17, - 17, - 15, - 9, - 16, - 14, - 11, - 13, - 18, - 18, - 11, - 17, - 15, - 12, - 10, - 0, - 0, - 16, - 12, - 16, - 20, - 17, - 0, - 17, - 17, - 0, - 0, - 0, - 21, - 18, - 19, - 0, - 0, - 15, - 14, - 0, - 0, - 12, - 12, - 11, - 0, - 16, - 0, - 15, - 0, - 14, - 13, - 13, - 12, - 17, - 17, - 14, - 16, - 14, - 14, - 14, - 0, - 13, - 0, - 15, - 0, - 19, - 15, - 15, - 14, - 14, - 0, - 0, - 15, - 20, - 0, - 20, - 0, - 17, - 0, - 16, - 0, - 0, - 0, - 7, - 15, - 15, - 15, - 14, - 12, - 11, - 16, - 16, - 15, - 0, - 0, - 13, - 0, - 12, - 0, - 17, - 0, - 20, - 16, - 0, - 0, - 14, - 0, - 13, - 18, - 15, - 11, - 19, - 15, - 14, - 14, - 19, - 18, - 0, - 16, - 20, - 0, - 0, - 17, - 21, - 0, - 0, - 18, - 19, - 0, - 0, - 15, - 15, - 14, - 0, - 0, - 0, - 12, - 0, - 17, - 12, - 12, - 23, - 0, - 8, - 16, - 0, - 0, - 0, - 15, - 0, - 13, - 9, - 13, - 0, - 12, - 12, - 17, - 0, - 0, - 14, - 13, - 13, - 15, - 0, - 14, - 19, - 0, - 0, - 16, - 0, - 15, - 20, - 17, - 0, - 0, - 9, - 0, - 18, - 15, - 0, - 14, - 10, - 12, - 0, - 0, - 0, - 16, - 16, - 13, - 15, - 0, - 13, - 0, - 10, - 0, - 0, - 12, - 12, - 0, - 0, - 17, - 0, - 16, - 13, - 18, - 14, - 13, - 18, - 18, - 0, - 15, - 0, - 0, - 19, - 14, - 0, - 16, - 20, - 0, - 14, - 17, - 0, - 0, - 0, - 0, - 18, - 0, - 0, - 0, - 14, - 10, - 0, - 13, - 0, - 0, - 11, - 22, - 15, - 0, - 15, - 15, - 12, - 12, - 15, - 0, - 0, - 12, - 9, - 12, - 20, - 16, - 0, - 16, - 15, - 0, - 17, - 13, - 12, - 0, - 17, - 16, - 14, - 14, - 13, - 18, - 18, - 0, - 15, - 0, - 14, - 0, - 19, - 16, - 17, - 0, - 0, - 0, - 0, - 18, - 14, - 14, - 13, - 11, - 13, - 19, - 15, - 15, - 14, - 19, - 15, - 12, - 20, - 16, - 15, - 13, - 8, - 17, - 16, - 14, - 13, - 0, - 18, - 15, - 19, - 16, - 20, - 0, - 0, - 10, - 0, - 0, - 0, - 14, - 14, - 13, - 0, - 0, - 11, - 22, - 18, - 15, - 19, - 15, - 15, - 14, - 15, - 0, - 16, - 12, - 12, - 11, - 16, - 0, - 16, - 15, - 15, - 0, - 13, - 13, - 12, - 17, - 12, - 17, - 14, - 0, - 18, - 18, - 17, - 15, - 19, - 0, - 0, - 0, - 0, - 13, - 0, - 9, - 0, - 18, - 14, - 14, - 20, - 0, - 13, - 9, - 0, - 18, - 14, - 11, - 8, - 0, - 0, - 10, - 19, - 15, - 15, - 12, - 14, - 7, - 19, - 0, - 16, - 12, - 0, - 20, - 16, - 16, - 13, - 15, - 10, - 0, - 13, - 0, - 12, - 17, - 0, - 16, - 14, - 14, - 18, - 19, - 15, - 19, - 16, - 0, - 20, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 13, - 13, - 12, - 0, - 0, - 0, - 0, - 17, - 14, - 0, - 0, - 12, - 14, - 13, - 0, - 11, - 14, - 0, - 0, - 18, - 18, - 10, - 15, - 15, - 14, - 12, - 0, - 0, - 12, - 0, - 16, - 16, - 16, - 0, - 15, - 0, - 13, - 0, - 17, - 17, - 16, - 18, - 0, - 19, - 22, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 0, - 12, - 0, - 17, - 18, - 14, - 14, - 0, - 13, - 18, - 0, - 0, - 0, - 21, - 0, - 17, - 19, - 15, - 0, - 14, - 9, - 0, - 12, - 11, - 16, - 15, - 0, - 13, - 0, - 12, - 17, - 14, - 18, - 0, - 19, - 15, - 19, - 0, - 0, - 20, - 21, - 0, - 0, - 0, - 0, - 0, - 16, - 16, - 12, - 0, - 13, - 0, - 12, - 0, - 0, - 21, - 17, - 0, - 0, - 0, - 0, - 17, - 14, - 0, - 14, - 0, - 13, - 0, - 0, - 10, - 10, - 14, - 0, - 22, - 18, - 0, - 19, - 15, - 11, - 15, - 15, - 14, - 0, - 15, - 12, - 16, - 16, - 16, - 0, - 15, - 13, - 13, - 13, - 13, - 17, - 17, - 18, - 14, - 18, - 18, - 17, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 13, - 17, - 17, - 13, - 12, - 17, - 0, - 16, - 18, - 14, - 14, - 0, - 0, - 13, - 0, - 18, - 14, - 13, - 11, - 11, - 21, - 17, - 13, - 9, - 15, - 15, - 14, - 14, - 19, - 15, - 0, - 12, - 16, - 0, - 15, - 0, - 13, - 13, - 17, - 0, - 0, - 18, - 14, - 0, - 18, - 0, - 0, - 19, - 18, - 19, - 20, - 21, - 22, - 0, - 0, - 0, - 16, - 12, - 16, - 15, - 0, - 0, - 0, - 13, - 18, - 13, - 12, - 0, - 0, - 17, - 16, - 0, - 17, - 0, - 0, - 21, - 14, - 14, - 13, - 0, - 18, - 11, - 11, - 15, - 15, - 14, - 0, - 0, - 12, - 16, - 13, - 16, - 16, - 0, - 17, - 17, - 18, - 18, - 18, - 17, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 20, - 16, - 16, - 15, - 15, - 17, - 13, - 12, - 0, - 13, - 0, - 9, - 17, - 13, - 0, - 20, - 0, - 0, - 16, - 14, - 0, - 17, - 13, - 18, - 11, - 21, - 0, - 17, - 13, - 15, - 17, - 15, - 26, - 14, - 14, - 19, - 14, - 12, - 16, - 0, - 0, - 15, - 0, - 0, - 0, - 20, - 17, - 0, - 0, - 17, - 21, - 18, - 0, - 0, - 18, - 0, - 0, - 0, - 17, - 0, - 22, - 19, - 19, - 20, - 20, - 0, - 12, - 12, - 19, - 16, - 0, - 15, - 0, - 0, - 0, - 13, - 18, - 13, - 12, - 17, - 0, - 0, - 0, - 16, - 16, - 0, - 17, - 14, - 14, - 13, - 13, - 18, - 15, - 0, - 11, - 15, - 15, - 14, - 14, - 14, - 12, - 20, - 16, - 16, - 15, - 17, - 0, - 0, - 17, - 0, - 17, - 0, - 18, - 18, - 17, - 19, - 0, - 0, - 0, - 12, - 0, - 20, - 16, - 16, - 0, - 15, - 13, - 0, - 12, - 0, - 17, - 0, - 0, - 16, - 0, - 0, - 14, - 0, - 13, - 0, - 18, - 11, - 0, - 21, - 0, - 17, - 15, - 0, - 15, - 19, - 12, - 20, - 16, - 15, - 20, - 16, - 0, - 0, - 17, - 0, - 21, - 0, - 18, - 22, - 19, - 19, - 20, - 0, - 0, - 15, - 0, - 15, - 15, - 14, - 0, - 23, - 12, - 12, - 0, - 19, - 12, - 0, - 16, - 0, - 16, - 16, - 15, - 0, - 0, - 12, - 0, - 17, - 13, - 13, - 12, - 0, - 17, - 17, - 0, - 10, - 17, - 16, - 16, - 0, - 14, - 14, - 0, - 0, - 13, - 13, - 18, - 0, - 15, - 11, - 11, - 15, - 15, - 14, - 19, - 19, - 16, - 15, - 20, - 20, - 17, - 17, - 0, - 16, - 18, - 0, - 0, - 0, - 19, - 15, - 15, - 14, - 12, - 12, - 0, - 8, - 20, - 16, - 0, - 15, - 11, - 16, - 0, - 13, - 0, - 0, - 12, - 17, - 16, - 18, - 14, - 14, - 0, - 13, - 13, - 0, - 18, - 15, - 17, - 15, - 0, - 14, - 10, - 19, - 0, - 0, - 0, - 0, - 16, - 16, - 20, - 0, - 0, - 14, - 17, - 21, - 21, - 18, - 19, - 0, - 0, - 0, - 0, - 14, - 15, - 15, - 15, - 14, - 14, - 0, - 0, - 12, - 17, - 0, - 12, - 0, - 19, - 0, - 16, - 13, - 13, - 16, - 15, - 0, - 0, - 13, - 9, - 10, - 0, - 13, - 17, - 0, - 17, - 14, - 0, - 14, - 0, - 13, - 15, - 14, - 0, - 19, - 16, - 0, - 20, - 17, - 17, - 0, - 0, - 0, - 8, - 0, - 0, - 0, - 19, - 15, - 15, - 14, - 10, - 19, - 0, - 12, - 20, - 16, - 13, - 13, - 15, - 0, - 17, - 13, - 21, - 17, - 17, - 16, - 21, - 14, - 14, - 13, - 18, - 15, - 0, - 17, - 15, - 0, - 14, - 19, - 19, - 16, - 20, - 0, - 0, - 17, - 21, - 18, - 0, - 0, - 14, - 0, - 9, - 18, - 15, - 15, - 0, - 14, - 0, - 15, - 19, - 12, - 12, - 19, - 16, - 16, - 0, - 15, - 0, - 0, - 13, - 13, - 17, - 17, - 18, - 17, - 17, - 14, - 14, - 14, - 0, - 18, - 18, - 15, - 0, - 19, - 19, - 18, - 16, - 0, - 0, - 0, - 14, - 14, - 19, - 15, - 9, - 0, - 14, - 0, - 19, - 15, - 8, - 12, - 0, - 9, - 16, - 16, - 13, - 15, - 20, - 0, - 13, - 13, - 17, - 17, - 16, - 14, - 13, - 18, - 0, - 17, - 15, - 19, - 16, - 17, - 20, - 17, - 15, - 0, - 21, - 0, - 0, - 0, - 0, - 0, - 14, - 14, - 14, - 14, - 13, - 0, - 22, - 18, - 14, - 18, - 15, - 15, - 0, - 14, - 12, - 12, - 0, - 12, - 12, - 16, - 16, - 0, - 15, - 0, - 16, - 13, - 17, - 13, - 17, - 0, - 16, - 14, - 18, - 18, - 18, - 0, - 15, - 19, - 16, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 0, - 11, - 0, - 13, - 18, - 14, - 14, - 13, - 9, - 18, - 14, - 17, - 13, - 7, - 19, - 15, - 15, - 0, - 14, - 19, - 19, - 0, - 0, - 12, - 18, - 20, - 16, - 16, - 0, - 15, - 13, - 0, - 17, - 16, - 14, - 0, - 18, - 0, - 15, - 19, - 0, - 20, - 16, - 0, - 0, - 20, - 16, - 0, - 22, - 0, - 7, - 0, - 0, - 13, - 17, - 17, - 0, - 17, - 0, - 0, - 14, - 14, - 0, - 13, - 0, - 18, - 14, - 15, - 0, - 17, - 18, - 15, - 15, - 0, - 14, - 0, - 15, - 12, - 12, - 16, - 16, - 0, - 15, - 15, - 13, - 14, - 21, - 17, - 13, - 17, - 0, - 14, - 0, - 18, - 18, - 0, - 19, - 18, - 0, - 22, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 17, - 13, - 18, - 14, - 18, - 14, - 14, - 0, - 13, - 18, - 0, - 0, - 17, - 15, - 15, - 12, - 0, - 14, - 19, - 12, - 18, - 20, - 16, - 0, - 15, - 0, - 13, - 21, - 17, - 0, - 0, - 0, - 14, - 13, - 18, - 19, - 15, - 23, - 19, - 19, - 0, - 0, - 20, - 0, - 20, - 21, - 22, - 21, - 23, - 0, - 0, - 13, - 13, - 12, - 17, - 17, - 14, - 0, - 17, - 0, - 0, - 21, - 14, - 19, - 12, - 14, - 11, - 11, - 0, - 0, - 0, - 10, - 18, - 17, - 0, - 15, - 15, - 14, - 0, - 12, - 12, - 16, - 12, - 16, - 15, - 17, - 17, - 13, - 13, - 12, - 17, - 17, - 18, - 0, - 18, - 17, - 19, - 19, - 0, - 0, - 9, - 17, - 13, - 17, - 17, - 14, - 12, - 16, - 14, - 0, - 13, - 18, - 15, - 24, - 0, - 21, - 0, - 17, - 13, - 0, - 15, - 18, - 14, - 19, - 15, - 12, - 16, - 16, - 0, - 15, - 15, - 24, - 20, - 13, - 17, - 0, - 18, - 14, - 18, - 0, - 0, - 19, - 20, - 21, - 22, - 0, - 0, - 16, - 13, - 9, - 16, - 15, - 0, - 0, - 13, - 18, - 0, - 19, - 13, - 0, - 0, - 17, - 0, - 0, - 17, - 16, - 0, - 17, - 0, - 0, - 14, - 19, - 14, - 14, - 13, - 0, - 18, - 17, - 0, - 0, - 11, - 15, - 15, - 14, - 0, - 20, - 23, - 0, - 16, - 16, - 15, - 15, - 21, - 17, - 17, - 16, - 0, - 0, - 18, - 18, - 0, - 19, - 19, - 18, - 0, - 0, - 0, - 0, - 10, - 0, - 20, - 16, - 16, - 19, - 13, - 10, - 12, - 21, - 17, - 0, - 16, - 21, - 14, - 17, - 0, - 13, - 18, - 17, - 13, - 19, - 15, - 0, - 0, - 14, - 14, - 23, - 19, - 15, - 12, - 22, - 0, - 20, - 16, - 13, - 15, - 20, - 16, - 0, - 0, - 21, - 17, - 16, - 0, - 21, - 16, - 0, - 18, - 22, - 0, - 19, - 20, - 21, - 0, - 0, - 0, - 0, - 19, - 16, - 0, - 16, - 15, - 24, - 13, - 18, - 20, - 13, - 0, - 12, - 17, - 0, - 17, - 11, - 16, - 0, - 17, - 0, - 18, - 14, - 19, - 12, - 14, - 13, - 13, - 18, - 15, - 15, - 11, - 11, - 15, - 15, - 14, - 12, - 19, - 19, - 16, - 16, - 15, - 0, - 0, - 0, - 17, - 17, - 0, - 16, - 18, - 18, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 20, - 16, - 15, - 13, - 12, - 21, - 17, - 16, - 0, - 14, - 13, - 9, - 22, - 18, - 18, - 15, - 17, - 19, - 15, - 0, - 0, - 14, - 19, - 12, - 0, - 14, - 0, - 20, - 16, - 15, - 20, - 0, - 17, - 21, - 21, - 0, - 15, - 15, - 18, - 22, - 19, - 0, - 12, - 19, - 15, - 15, - 14, - 0, - 0, - 10, - 16, - 13, - 16, - 15, - 15, - 16, - 13, - 18, - 11, - 13, - 12, - 17, - 17, - 17, - 14, - 0, - 14, - 14, - 14, - 13, - 18, - 0, - 0, - 15, - 15, - 14, - 14, - 19, - 19, - 16, - 16, - 15, - 0, - 20, - 20, - 0, - 17, - 17, - 0, - 18, - 19, - 0, - 0, - 0, - 0, - 12, - 15, - 0, - 19, - 14, - 13, - 20, - 16, - 16, - 15, - 20, - 9, - 13, - 10, - 0, - 12, - 21, - 17, - 16, - 14, - 10, - 13, - 22, - 18, - 18, - 0, - 15, - 17, - 13, - 15, - 16, - 14, - 19, - 16, - 0, - 0, - 16, - 24, - 20, - 0, - 17, - 21, - 0, - 18, - 22, - 0, - 0, - 18, - 18, - 19, - 15, - 15, - 14, - 0, - 23, - 19, - 0, - 12, - 19, - 0, - 11, - 0, - 16, - 16, - 15, - 0, - 16, - 13, - 20, - 17, - 17, - 16, - 14, - 0, - 14, - 10, - 0, - 13, - 0, - 18, - 0, - 18, - 15, - 15, - 0, - 19, - 19, - 23, - 19, - 0, - 16, - 20, - 20, - 17, - 17, - 0, - 0, - 10, - 0, - 0, - 0, - 14, - 19, - 15, - 0, - 14, - 11, - 19, - 12, - 12, - 0, - 20, - 20, - 16, - 13, - 10, - 15, - 0, - 20, - 10, - 0, - 13, - 0, - 14, - 21, - 21, - 17, - 17, - 14, - 16, - 17, - 14, - 0, - 13, - 18, - 17, - 0, - 15, - 0, - 14, - 0, - 19, - 16, - 20, - 0, - 0, - 17, - 21, - 0, - 0, - 18, - 0, - 14, - 10, - 0, - 0, - 14, - 15, - 15, - 0, - 15, - 14, - 12, - 12, - 0, - 19, - 15, - 0, - 0, - 18, - 19, - 20, - 16, - 16, - 15, - 13, - 13, - 16, - 13, - 20, - 17, - 17, - 0, - 16, - 0, - 14, - 0, - 18, - 18, - 17, - 15, - 15, - 19, - 15, - 19, - 18, - 16, - 0, - 18, - 0, - 22, - 12, - 0, - 19, - 15, - 14, - 10, - 19, - 12, - 9, - 0, - 0, - 14, - 0, - 0, - 16, - 16, - 16, - 0, - 13, - 15, - 20, - 0, - 13, - 17, - 17, - 16, - 0, - 14, - 0, - 0, - 18, - 17, - 0, - 15, - 14, - 19, - 16, - 16, - 20, - 0, - 0, - 21, - 17, - 0, - 0, - 0, - 0, - 14, - 14, - 0, - 9, - 0, - 18, - 14, - 0, - 0, - 0, - 0, - 0, - 15, - 13, - 15, - 15, - 0, - 14, - 0, - 0, - 19, - 15, - 23, - 23, - 16, - 16, - 16, - 15, - 0, - 0, - 13, - 13, - 0, - 17, - 13, - 0, - 17, - 16, - 0, - 14, - 18, - 18, - 18, - 15, - 19, - 19, - 18, - 16, - 19, - 22, - 0, - 0, - 18, - 0, - 14, - 13, - 13, - 18, - 14, - 17, - 17, - 15, - 15, - 14, - 11, - 19, - 0, - 0, - 18, - 12, - 16, - 15, - 20, - 13, - 0, - 17, - 13, - 0, - 16, - 12, - 21, - 18, - 0, - 14, - 18, - 19, - 15, - 19, - 0, - 16, - 0, - 16, - 0, - 20, - 0, - 0, - 21, - 0, - 22, - 9, - 13, - 17, - 17, - 16, - 25, - 14, - 14, - 13, - 13, - 18, - 14, - 17, - 0, - 15, - 15, - 0, - 14, - 0, - 19, - 0, - 16, - 16, - 0, - 0, - 0, - 13, - 13, - 17, - 17, - 17, - 18, - 18, - 15, - 19, - 19, - 19, - 18, - 22, - 22, - 0, - 0, - 21, - 0, - 14, - 14, - 13, - 0, - 13, - 18, - 15, - 17, - 15, - 0, - 0, - 18, - 14, - 19, - 12, - 18, - 14, - 16, - 15, - 20, - 16, - 13, - 15, - 17, - 0, - 14, - 13, - 18, - 18, - 0, - 19, - 15, - 0, - 0, - 19, - 0, - 20, - 21, - 22, - 13, - 13, - 17, - 11, - 16, - 14, - 0, - 0, - 14, - 14, - 0, - 0, - 13, - 0, - 18, - 18, - 0, - 12, - 17, - 0, - 11, - 15, - 20, - 15, - 14, - 19, - 12, - 12, - 0, - 16, - 16, - 15, - 0, - 21, - 17, - 13, - 17, - 16, - 0, - 22, - 18, - 14, - 18, - 18, - 0, - 19, - 19, - 20, - 22, - 0, - 0, - 0, - 12, - 17, - 17, - 17, - 16, - 12, - 14, - 10, - 13, - 13, - 18, - 17, - 15, - 12, - 0, - 0, - 14, - 19, - 19, - 19, - 18, - 16, - 0, - 15, - 15, - 20, - 13, - 0, - 0, - 17, - 14, - 25, - 21, - 17, - 0, - 0, - 0, - 18, - 17, - 22, - 0, - 19, - 0, - 0, - 20, - 21, - 22, - 0, - 0, - 0, - 16, - 0, - 16, - 0, - 20, - 13, - 0, - 11, - 13, - 0, - 17, - 0, - 16, - 0, - 0, - 25, - 22, - 0, - 14, - 14, - 0, - 11, - 22, - 18, - 0, - 18, - 17, - 0, - 15, - 11, - 15, - 0, - 14, - 14, - 19, - 15, - 16, - 16, - 16, - 12, - 16, - 15, - 20, - 17, - 17, - 16, - 0, - 21, - 18, - 17, - 19, - 0, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 9, - 20, - 16, - 0, - 12, - 13, - 13, - 21, - 17, - 17, - 16, - 12, - 13, - 21, - 17, - 18, - 14, - 11, - 0, - 0, - 0, - 13, - 0, - 18, - 0, - 17, - 13, - 15, - 0, - 14, - 14, - 10, - 23, - 19, - 19, - 0, - 18, - 16, - 19, - 15, - 11, - 0, - 20, - 0, - 17, - 21, - 17, - 16, - 0, - 18, - 22, - 0, - 16, - 0, - 19, - 23, - 20, - 20, - 0, - 0, - 0, - 11, - 16, - 16, - 15, - 0, - 0, - 16, - 13, - 0, - 20, - 13, - 0, - 0, - 0, - 17, - 17, - 0, - 17, - 16, - 0, - 14, - 10, - 11, - 12, - 14, - 22, - 18, - 18, - 18, - 18, - 17, - 0, - 15, - 11, - 15, - 14, - 19, - 15, - 0, - 16, - 15, - 20, - 24, - 17, - 17, - 17, - 21, - 0, - 20, - 18, - 0, - 18, - 0, - 0, - 19, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 20, - 16, - 12, - 0, - 15, - 11, - 20, - 0, - 13, - 0, - 21, - 17, - 17, - 0, - 14, - 0, - 16, - 13, - 21, - 21, - 10, - 14, - 11, - 0, - 18, - 0, - 18, - 0, - 0, - 17, - 15, - 0, - 14, - 10, - 19, - 16, - 18, - 18, - 14, - 20, - 16, - 15, - 20, - 0, - 17, - 21, - 18, - 0, - 18, - 22, - 17, - 0, - 19, - 23, - 20, - 0, - 0, - 19, - 15, - 11, - 14, - 19, - 16, - 13, - 16, - 15, - 0, - 16, - 0, - 12, - 16, - 13, - 0, - 0, - 20, - 17, - 17, - 0, - 16, - 0, - 0, - 0, - 14, - 0, - 18, - 11, - 18, - 15, - 15, - 15, - 14, - 19, - 17, - 19, - 18, - 15, - 15, - 16, - 20, - 20, - 17, - 0, - 17, - 18, - 0, - 20, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 0, - 20, - 16, - 12, - 16, - 15, - 20, - 9, - 18, - 17, - 13, - 13, - 14, - 15, - 15, - 17, - 0, - 17, - 0, - 14, - 19, - 16, - 9, - 21, - 0, - 14, - 10, - 18, - 10, - 0, - 18, - 17, - 15, - 17, - 0, - 14, - 14, - 19, - 18, - 16, - 15, - 20, - 0, - 17, - 21, - 0, - 18, - 0, - 0, - 18, - 22, - 18, - 0, - 0, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 19, - 0, - 15, - 11, - 11, - 15, - 0, - 14, - 0, - 0, - 19, - 20, - 23, - 20, - 16, - 16, - 16, - 13, - 13, - 0, - 20, - 15, - 0, - 0, - 20, - 17, - 17, - 15, - 17, - 0, - 16, - 0, - 25, - 14, - 18, - 18, - 18, - 17, - 0, - 0, - 15, - 23, - 0, - 19, - 19, - 17, - 19, - 19, - 18, - 18, - 16, - 0, - 20, - 16, - 20, - 19, - 17, - 0, - 17, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 12, - 19, - 15, - 0, - 14, - 10, - 19, - 19, - 16, - 16, - 0, - 15, - 20, - 9, - 26, - 13, - 0, - 21, - 17, - 0, - 16, - 17, - 0, - 0, - 14, - 10, - 16, - 0, - 0, - 18, - 18, - 17, - 15, - 14, - 0, - 19, - 0, - 22, - 0, - 16, - 20, - 0, - 17, - 21, - 0, - 18, - 0, - 0, - 22, - 18, - 0, - 0, - 18, - 15, - 12, - 0, - 15, - 0, - 9, - 15, - 0, - 14, - 19, - 18, - 0, - 19, - 16, - 16, - 15, - 0, - 20, - 17, - 0, - 16, - 0, - 19, - 17, - 17, - 17, - 16, - 16, - 14, - 20, - 18, - 18, - 18, - 0, - 17, - 15, - 15, - 0, - 0, - 19, - 19, - 17, - 19, - 18, - 16, - 16, - 20, - 20, - 21, - 20, - 22, - 0, - 0, - 0, - 0, - 0, - 9, - 0, - 10, - 0, - 18, - 19, - 15, - 15, - 14, - 10, - 19, - 15, - 11, - 0, - 0, - 18, - 13, - 16, - 16, - 0, - 0, - 15, - 20, - 20, - 0, - 17, - 17, - 0, - 13, - 14, - 0, - 0, - 17, - 15, - 15, - 0, - 0, - 16, - 21, - 17, - 14, - 18, - 15, - 0, - 0, - 17, - 13, - 22, - 15, - 0, - 19, - 0, - 16, - 16, - 20, - 0, - 0, - 21, - 0, - 0, - 0, - 22, - 22, - 14, - 14, - 18, - 14, - 15, - 17, - 26, - 15, - 0, - 15, - 0, - 0, - 14, - 0, - 19, - 19, - 18, - 16, - 16, - 16, - 0, - 15, - 20, - 0, - 0, - 14, - 0, - 17, - 17, - 14, - 22, - 14, - 18, - 18, - 19, - 19, - 18, - 20, - 20, - 19, - 0, - 21, - 22, - 0, - 0, - 0, - 0, - 0, - 14, - 22, - 18, - 18, - 17, - 19, - 15, - 25, - 14, - 19, - 12, - 0, - 18, - 16, - 0, - 0, - 15, - 20, - 16, - 16, - 26, - 13, - 0, - 23, - 0, - 15, - 17, - 16, - 12, - 21, - 14, - 18, - 0, - 17, - 0, - 19, - 15, - 19, - 16, - 0, - 0, - 20, - 16, - 0, - 20, - 0, - 21, - 22, - 24, - 0, - 21, - 17, - 16, - 16, - 17, - 14, - 14, - 14, - 0, - 18, - 0, - 18, - 18, - 17, - 0, - 26, - 15, - 15, - 15, - 18, - 14, - 0, - 19, - 18, - 0, - 16, - 12, - 16, - 15, - 20, - 13, - 0, - 17, - 17, - 17, - 0, - 0, - 0, - 14, - 18, - 14, - 18, - 15, - 19, - 19, - 19, - 20, - 21, - 22, - 0, - 0, - 12, - 0, - 21, - 18, - 14, - 0, - 18, - 18, - 0, - 17, - 13, - 10, - 22, - 15, - 0, - 14, - 10, - 19, - 18, - 0, - 16, - 0, - 13, - 0, - 0, - 19, - 15, - 20, - 13, - 19, - 15, - 17, - 0, - 12, - 16, - 21, - 17, - 0, - 0, - 14, - 0, - 0, - 18, - 22, - 0, - 0, - 0, - 0, - 19, - 14, - 0, - 23, - 0, - 20, - 0, - 21, - 22, - 0, - 0, - 17, - 15, - 16, - 0, - 10, - 14, - 21, - 14, - 0, - 0, - 18, - 0, - 12, - 18, - 18, - 17, - 0, - 18, - 0, - 15, - 15, - 15, - 14, - 12, - 19, - 12, - 18, - 16, - 12, - 16, - 0, - 0, - 15, - 16, - 17, - 13, - 17, - 16, - 18, - 17, - 0, - 0, - 19, - 19, - 20, - 22, - 0, - 0, - 10, - 21, - 21, - 17, - 16, - 16, - 0, - 14, - 15, - 0, - 18, - 18, - 17, - 22, - 15, - 11, - 0, - 14, - 19, - 18, - 18, - 16, - 11, - 20, - 13, - 0, - 19, - 17, - 21, - 17, - 14, - 0, - 18, - 22, - 18, - 0, - 0, - 19, - 23, - 19, - 0, - 20, - 21, - 0, - 22, - 16, - 17, - 11, - 15, - 17, - 16, - 0, - 14, - 10, - 0, - 12, - 14, - 0, - 25, - 18, - 18, - 17, - 26, - 15, - 11, - 0, - 15, - 19, - 19, - 15, - 16, - 12, - 12, - 0, - 12, - 0, - 16, - 15, - 0, - 20, - 17, - 13, - 17, - 16, - 21, - 21, - 0, - 18, - 19, - 19, - 0, - 0, - 0, - 13, - 21, - 17, - 17, - 16, - 21, - 14, - 10, - 22, - 18, - 17, - 17, - 10, - 11, - 15, - 12, - 0, - 19, - 0, - 18, - 14, - 20, - 16, - 16, - 12, - 23, - 16, - 20, - 26, - 13, - 17, - 13, - 16, - 21, - 0, - 0, - 18, - 22, - 18, - 0, - 19, - 23, - 0, - 20, - 0, - 0, - 16, - 16, - 11, - 15, - 14, - 0, - 17, - 11, - 15, - 17, - 0, - 16, - 0, - 0, - 14, - 10, - 0, - 17, - 21, - 0, - 18, - 18, - 18, - 18, - 29, - 0, - 13, - 17, - 0, - 15, - 19, - 19, - 22, - 19, - 22, - 12, - 16, - 16, - 20, - 0, - 19, - 0, - 16, - 17, - 17, - 21, - 0, - 18, - 0, - 21, - 19, - 19, - 0, - 0, - 0, - 20, - 16, - 0, - 15, - 15, - 20, - 13, - 0, - 21, - 21, - 17, - 17, - 16, - 9, - 21, - 0, - 18, - 14, - 27, - 14, - 0, - 11, - 10, - 10, - 22, - 18, - 0, - 0, - 17, - 28, - 15, - 23, - 19, - 18, - 14, - 16, - 12, - 15, - 11, - 20, - 17, - 0, - 0, - 17, - 18, - 21, - 18, - 0, - 18, - 22, - 18, - 0, - 17, - 0, - 0, - 19, - 19, - 23, - 10, - 16, - 16, - 11, - 15, - 0, - 16, - 0, - 20, - 16, - 12, - 20, - 20, - 21, - 17, - 17, - 0, - 12, - 16, - 0, - 14, - 18, - 0, - 0, - 0, - 18, - 17, - 0, - 0, - 15, - 19, - 19, - 19, - 22, - 0, - 18, - 16, - 16, - 20, - 20, - 17, - 17, - 0, - 21, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 10, - 15, - 19, - 20, - 16, - 12, - 15, - 11, - 20, - 16, - 15, - 21, - 17, - 16, - 21, - 17, - 10, - 18, - 0, - 14, - 11, - 22, - 18, - 18, - 17, - 13, - 18, - 15, - 11, - 14, - 10, - 19, - 18, - 18, - 0, - 15, - 20, - 21, - 15, - 0, - 17, - 17, - 28, - 21, - 0, - 0, - 18, - 22, - 17, - 0, - 0, - 0, - 0, - 15, - 15, - 14, - 19, - 15, - 10, - 18, - 16, - 14, - 16, - 0, - 15, - 0, - 0, - 0, - 20, - 16, - 17, - 17, - 17, - 16, - 0, - 14, - 18, - 18, - 0, - 17, - 17, - 15, - 19, - 15, - 19, - 18, - 0, - 20, - 20, - 17, - 17, - 21, - 0, - 0, - 18, - 21, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 19, - 13, - 19, - 15, - 18, - 18, - 20, - 16, - 15, - 11, - 20, - 15, - 10, - 19, - 17, - 14, - 16, - 21, - 17, - 18, - 14, - 14, - 0, - 20, - 18, - 17, - 22, - 15, - 0, - 14, - 0, - 0, - 19, - 16, - 0, - 16, - 20, - 0, - 21, - 0, - 17, - 21, - 18, - 0, - 0, - 0, - 0, - 22, - 0, - 23, - 0, - 20, - 0, - 18, - 15, - 15, - 11, - 12, - 15, - 0, - 19, - 18, - 18, - 0, - 16, - 14, - 16, - 0, - 15, - 13, - 20, - 16, - 0, - 17, - 17, - 20, - 24, - 17, - 17, - 0, - 16, - 0, - 14, - 18, - 18, - 18, - 15, - 0, - 15, - 19, - 19, - 19, - 0, - 0, - 20, - 20, - 20, - 24, - 0, - 21, - 22, - 0, - 23, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 12, - 19, - 15, - 15, - 11, - 19, - 18, - 14, - 14, - 12, - 16, - 15, - 11, - 20, - 0, - 15, - 0, - 19, - 19, - 13, - 17, - 16, - 21, - 14, - 17, - 18, - 17, - 13, - 26, - 0, - 22, - 22, - 15, - 0, - 14, - 0, - 19, - 0, - 15, - 0, - 20, - 16, - 23, - 20, - 0, - 0, - 21, - 0, - 0, - 0, - 0, - 22, - 23, - 0, - 0, - 0, - 0, - 0, - 8, - 0, - 18, - 18, - 11, - 18, - 12, - 0, - 17, - 15, - 15, - 15, - 15, - 14, - 0, - 19, - 15, - 18, - 0, - 19, - 16, - 16, - 0, - 15, - 0, - 20, - 16, - 17, - 17, - 17, - 14, - 0, - 18, - 18, - 0, - 15, - 0, - 19, - 19, - 0, - 0, - 22, - 20, - 20, - 20, - 19, - 0, - 22, - 22, - 23, - 0, - 0, - 22, - 22, - 14, - 18, - 14, - 17, - 17, - 15, - 14, - 19, - 0, - 18, - 16, - 26, - 13, - 0, - 0, - 0, - 15, - 11, - 20, - 0, - 0, - 19, - 15, - 17, - 16, - 12, - 21, - 14, - 18, - 22, - 18, - 0, - 15, - 0, - 19, - 27, - 27, - 15, - 23, - 20, - 0, - 0, - 24, - 20, - 19, - 24, - 21, - 0, - 21, - 0, - 0, - 22, - 21, - 22, - 0, - 0, - 20, - 0, - 17, - 14, - 14, - 17, - 18, - 18, - 17, - 19, - 19, - 15, - 15, - 0, - 12, - 19, - 18, - 0, - 16, - 13, - 14, - 16, - 15, - 0, - 20, - 16, - 15, - 19, - 17, - 17, - 17, - 17, - 21, - 14, - 0, - 18, - 14, - 18, - 18, - 26, - 0, - 19, - 23, - 23, - 19, - 20, - 20, - 24, - 21, - 0, - 0, - 0, - 0, - 0, - 13, - 14, - 0, - 22, - 14, - 18, - 17, - 13, - 22, - 15, - 0, - 19, - 18, - 18, - 12, - 0, - 15, - 20, - 0, - 19, - 13, - 17, - 0, - 12, - 12, - 25, - 21, - 14, - 15, - 18, - 17, - 22, - 22, - 19, - 0, - 0, - 0, - 23, - 19, - 27, - 23, - 0, - 24, - 20, - 24, - 24, - 0, - 21, - 21, - 22, - 0, - 11, - 0, - 0, - 17, - 17, - 13, - 16, - 0, - 0, - 14, - 12, - 14, - 18, - 12, - 18, - 17, - 0, - 26, - 28, - 15, - 11, - 13, - 13, - 14, - 19, - 15, - 12, - 12, - 0, - 0, - 19, - 0, - 18, - 27, - 16, - 12, - 17, - 13, - 16, - 15, - 0, - 20, - 24, - 0, - 19, - 13, - 17, - 17, - 17, - 16, - 16, - 21, - 21, - 0, - 0, - 18, - 18, - 22, - 26, - 26, - 19, - 23, - 0, - 0, - 20, - 20, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 13, - 21, - 17, - 17, - 0, - 16, - 0, - 21, - 14, - 14, - 0, - 22, - 18, - 17, - 13, - 22, - 15, - 12, - 0, - 11, - 23, - 19, - 21, - 18, - 12, - 27, - 13, - 16, - 26, - 13, - 0, - 26, - 20, - 19, - 21, - 17, - 24, - 21, - 18, - 0, - 18, - 24, - 22, - 19, - 0, - 0, - 0, - 19, - 0, - 23, - 0, - 20, - 24, - 21, - 22, - 16, - 14, - 0, - 17, - 13, - 16, - 21, - 21, - 18, - 18, - 0, - 29, - 17, - 17, - 15, - 25, - 19, - 19, - 0, - 0, - 0, - 12, - 0, - 18, - 15, - 20, - 0, - 17, - 16, - 21, - 17, - 21, - 18, - 18, - 18, - 0, - 0, - 22, - 19, - 19, - 0, - 21, - 0, - 0, - 0, - 0, - 0, - 16, - 21, - 17, - 17, - 16, - 16, - 21, - 14, - 0, - 18, - 18, - 17, - 22, - 18, - 0, - 15, - 11, - 12, - 23, - 19, - 16, - 18, - 29, - 16, - 12, - 11, - 20, - 19, - 15, - 13, - 16, - 0, - 21, - 0, - 0, - 0, - 0, - 0, - 18, - 18, - 0, - 26, - 22, - 19, - 23, - 20, - 24, - 25, - 0, - 16, - 15, - 20, - 20, - 0, - 0, - 17, - 17, - 0, - 16, - 0, - 25, - 17, - 11, - 18, - 18, - 15, - 28, - 22, - 15, - 19, - 15, - 12, - 12, - 19, - 0, - 18, - 20, - 20, - 0, - 19, - 17, - 17, - 21, - 21, - 20, - 18, - 18, - 22, - 0, - 0, - 19, - 20, - 16, - 20, - 16, - 21, - 17, - 16, - 21, - 17, - 19, - 14, - 11, - 0, - 16, - 20, - 18, - 17, - 10, - 22, - 0, - 0, - 15, - 11, - 17, - 19, - 19, - 0, - 18, - 0, - 11, - 15, - 20, - 15, - 28, - 17, - 18, - 25, - 0, - 21, - 18, - 0, - 0, - 18, - 19, - 22, - 0, - 0, - 19, - 23, - 23, - 0, - 0, - 0, - 0, - 11, - 0, - 16, - 12, - 15, - 12, - 20, - 20, - 16, - 14, - 17, - 11, - 17, - 20, - 16, - 0, - 20, - 18, - 18, - 18, - 17, - 0, - 15, - 19, - 15, - 19, - 18, - 18, - 16, - 20, - 16, - 24, - 19, - 17, - 21, - 18, - 18, - 18, - 0, - 0, - 13, - 0, - 0, - 18, - 20, - 16, - 16, - 12, - 15, - 0, - 20, - 16, - 0, - 19, - 11, - 17, - 19, - 13, - 16, - 21, - 21, - 24, - 32, - 0, - 0, - 20, - 22, - 18, - 17, - 22, - 18, - 19, - 0, - 15, - 10, - 19, - 18, - 14, - 23, - 16, - 15, - 20, - 0, - 17, - 0, - 0, - 20, - 21, - 18, - 0, - 0, - 0, - 18, - 22, - 0, - 23, - 0, - 19, - 15, - 18, - 0, - 0, - 16, - 0, - 16, - 0, - 0, - 15, - 20, - 16, - 15, - 19, - 17, - 13, - 17, - 0, - 16, - 0, - 21, - 18, - 14, - 18, - 18, - 18, - 18, - 15, - 0, - 19, - 15, - 19, - 19, - 0, - 18, - 24, - 0, - 0, - 22, - 27, - 20, - 20, - 0, - 17, - 17, - 17, - 21, - 0, - 22, - 0, - 9, - 0, - 11, - 10, - 15, - 19, - 15, - 0, - 18, - 14, - 20, - 16, - 15, - 20, - 20, - 19, - 19, - 17, - 0, - 16, - 12, - 21, - 15, - 0, - 20, - 18, - 17, - 13, - 13, - 22, - 15, - 14, - 23, - 19, - 0, - 0, - 19, - 20, - 0, - 20, - 24, - 0, - 17, - 21, - 0, - 0, - 0, - 22, - 18, - 26, - 22, - 18, - 0, - 0, - 23, - 13, - 15, - 11, - 15, - 19, - 18, - 18, - 0, - 16, - 12, - 16, - 0, - 20, - 16, - 0, - 19, - 17, - 15, - 17, - 17, - 0, - 16, - 13, - 21, - 14, - 0, - 14, - 18, - 14, - 18, - 0, - 0, - 15, - 19, - 19, - 22, - 20, - 16, - 20, - 0, - 17, - 21, - 21, - 21, - 22, - 23, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 15, - 15, - 0, - 23, - 19, - 14, - 18, - 14, - 16, - 15, - 11, - 20, - 0, - 19, - 16, - 12, - 17, - 16, - 12, - 21, - 17, - 14, - 18, - 13, - 14, - 0, - 22, - 19, - 15, - 0, - 19, - 23, - 0, - 0, - 0, - 20, - 24, - 0, - 0, - 21, - 0, - 25, - 0, - 22, - 22, - 23, - 0, - 22, - 22, - 0, - 18, - 17, - 17, - 15, - 15, - 11, - 13, - 15, - 15, - 19, - 18, - 0, - 16, - 12, - 14, - 0, - 0, - 20, - 16, - 15, - 17, - 13, - 17, - 21, - 18, - 22, - 18, - 18, - 16, - 18, - 19, - 15, - 27, - 0, - 20, - 0, - 22, - 23, - 0, - 0, - 0, - 13, - 22, - 18, - 20, - 17, - 15, - 23, - 19, - 18, - 12, - 23, - 16, - 15, - 20, - 13, - 0, - 19, - 15, - 17, - 27, - 16, - 21, - 14, - 0, - 0, - 20, - 20, - 13, - 18, - 22, - 15, - 19, - 18, - 23, - 19, - 20, - 0, - 0, - 24, - 20, - 24, - 0, - 0, - 0, - 21, - 0, - 25, - 22, - 22, - 18, - 14, - 18, - 17, - 0, - 0, - 22, - 28, - 15, - 11, - 0, - 15, - 19, - 15, - 17, - 19, - 18, - 18, - 27, - 29, - 13, - 16, - 0, - 20, - 20, - 0, - 18, - 17, - 0, - 25, - 0, - 0, - 21, - 21, - 14, - 0, - 14, - 18, - 16, - 19, - 20, - 23, - 0, - 0, - 0, - 0, - 10, - 0, - 16, - 18, - 10, - 22, - 18, - 14, - 17, - 13, - 22, - 18, - 15, - 0, - 14, - 21, - 19, - 0, - 18, - 14, - 23, - 16, - 15, - 22, - 20, - 19, - 17, - 17, - 0, - 21, - 14, - 22, - 18, - 14, - 22, - 0, - 0, - 19, - 23, - 23, - 0, - 0, - 0, - 24, - 20, - 24, - 21, - 22, - 22, - 23, - 23, - 24, - 17, - 0, - 21, - 17, - 0, - 18, - 18, - 17, - 0, - 13, - 26, - 22, - 0, - 19, - 19, - 18, - 29, - 24, - 0, - 0, - 20, - 13, - 0, - 19, - 21, - 21, - 21, - 18, - 22, - 18, - 19, - 19, - 23, - 20, - 21, - 0, - 0, - 13, - 0, - 0, - 20, - 18, - 15, - 21, - 21, - 22, - 18, - 14, - 17, - 13, - 22, - 18, - 15, - 0, - 19, - 18, - 15, - 29, - 16, - 12, - 0, - 20, - 14, - 19, - 19, - 17, - 16, - 21, - 18, - 22, - 18, - 0, - 17, - 22, - 0, - 19, - 0, - 27, - 23, - 20, - 24, - 20, - 21, - 0, - 25, - 0, - 0, - 20, - 17, - 13, - 16, - 16, - 21, - 21, - 18, - 18, - 18, - 17, - 17, - 22, - 12, - 0, - 14, - 0, - 19, - 19, - 19, - 18, - 18, - 20, - 16, - 20, - 19, - 21, - 21, - 0, - 18, - 0, - 22, - 26, - 21, - 0, - 0, - 13, - 21, - 17, - 16, - 0, - 21, - 21, - 17, - 15, - 0, - 15, - 22, - 18, - 17, - 13, - 18, - 33, - 19, - 19, - 0, - 18, - 18, - 13, - 0, - 13, - 20, - 19, - 15, - 16, - 16, - 21, - 0, - 18, - 18, - 19, - 22, - 19, - 23, - 20, - 20, - 24, - 25, - 25, - 20, - 0, - 0, - 0, - 12, - 0, - 20, - 16, - 14, - 17, - 17, - 17, - 16, - 21, - 21, - 15, - 20, - 32, - 18, - 18, - 18, - 17, - 0, - 25, - 19, - 19, - 18, - 18, - 0, - 20, - 18, - 20, - 0, - 19, - 19, - 21, - 21, - 20, - 0, - 18, - 22, - 19, - 19, - 14, - 0, - 0, - 20, - 16, - 16, - 24, - 20, - 16, - 21, - 17, - 16, - 25, - 21, - 0, - 20, - 18, - 20, - 15, - 14, - 17, - 13, - 22, - 22, - 23, - 0, - 11, - 19, - 12, - 17, - 12, - 23, - 19, - 18, - 23, - 23, - 20, - 16, - 15, - 11, - 20, - 17, - 28, - 24, - 17, - 19, - 16, - 25, - 21, - 29, - 22, - 0, - 18, - 22, - 0, - 19, - 0, - 0, - 23, - 23, - 20, - 25, - 20, - 16, - 0, - 16, - 16, - 20, - 16, - 25, - 20, - 19, - 17, - 0, - 17, - 12, - 0, - 13, - 21, - 0, - 10, - 18, - 18, - 14, - 16, - 18, - 17, - 0, - 22, - 19, - 15, - 19, - 19, - 16, - 0, - 16, - 0, - 20, - 17, - 15, - 15, - 24, - 0, - 20, - 0, - 21, - 0, - 18, - 22, - 23, - 24, - 0, - 0, - 11, - 19, - 14, - 20, - 20, - 0, - 19, - 19, - 20, - 24, - 16, - 12, - 21, - 17, - 0, - 20, - 20, - 18, - 15, - 17, - 13, - 22, - 22, - 19, - 15, - 28, - 15, - 15, - 25, - 15, - 19, - 18, - 23, - 24, - 16, - 0, - 0, - 20, - 0, - 17, - 21, - 18, - 29, - 22, - 0, - 18, - 26, - 22, - 0, - 23, - 0, - 24, - 24, - 0, - 0, - 19, - 15, - 18, - 18, - 0, - 16, - 16, - 10, - 20, - 16, - 19, - 0, - 0, - 17, - 13, - 17, - 0, - 14, - 14, - 21, - 17, - 22, - 18, - 14, - 18, - 14, - 0, - 18, - 14, - 18, - 18, - 17, - 19, - 15, - 19, - 15, - 0, - 0, - 19, - 0, - 22, - 20, - 20, - 28, - 17, - 21, - 21, - 25, - 22, - 23, - 23, - 0, - 19, - 19, - 0, - 18, - 14, - 0, - 16, - 20, - 19, - 15, - 20, - 17, - 16, - 12, - 12, - 21, - 0, - 27, - 0, - 0, - 20, - 16, - 18, - 17, - 13, - 22, - 15, - 17, - 19, - 0, - 18, - 18, - 23, - 0, - 16, - 20, - 20, - 21, - 0, - 21, - 17, - 18, - 0, - 21, - 0, - 22, - 0, - 26, - 22, - 0, - 23, - 24, - 0, - 0, - 0, - 19, - 19, - 0, - 18, - 0, - 29, - 16, - 16, - 19, - 0, - 0, - 20, - 20, - 18, - 20, - 19, - 17, - 17, - 17, - 17, - 16, - 0, - 21, - 17, - 20, - 0, - 18, - 14, - 16, - 18, - 22, - 15, - 19, - 15, - 19, - 19, - 20, - 0, - 20, - 16, - 18, - 0, - 17, - 24, - 17, - 0, - 21, - 0, - 22, - 23, - 0, - 19, - 14, - 18, - 23, - 15, - 16, - 20, - 19, - 15, - 24, - 17, - 16, - 21, - 18, - 27, - 20, - 18, - 18, - 15, - 19, - 0, - 0, - 23, - 20, - 16, - 0, - 0, - 20, - 16, - 24, - 20, - 0, - 0, - 0, - 0, - 21, - 29, - 0, - 25, - 0, - 0, - 22, - 26, - 0, - 23, - 0, - 22, - 0, - 0, - 0, - 18, - 18, - 17, - 22, - 0, - 13, - 15, - 19, - 15, - 19, - 0, - 18, - 0, - 16, - 0, - 0, - 16, - 19, - 20, - 20, - 19, - 0, - 17, - 17, - 17, - 15, - 17, - 17, - 0, - 21, - 14, - 14, - 18, - 22, - 0, - 19, - 15, - 19, - 15, - 15, - 18, - 23, - 0, - 22, - 20, - 20, - 24, - 0, - 0, - 23, - 0, - 0, - 0, - 17, - 10, - 14, - 18, - 18, - 15, - 0, - 19, - 17, - 18, - 23, - 16, - 20, - 19, - 15, - 17, - 27, - 14, - 23, - 21, - 14, - 0, - 20, - 14, - 18, - 0, - 25, - 18, - 22, - 15, - 19, - 15, - 0, - 14, - 18, - 23, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 20, - 24, - 0, - 19, - 0, - 21, - 0, - 25, - 22, - 0, - 23, - 22, - 0, - 0, - 0, - 18, - 14, - 17, - 13, - 19, - 15, - 18, - 0, - 20, - 20, - 19, - 0, - 21, - 21, - 24, - 24, - 16, - 14, - 14, - 22, - 19, - 15, - 19, - 22, - 20, - 20, - 21, - 21, - 22, - 0, - 0, - 0, - 21, - 22, - 18, - 0, - 18, - 17, - 17, - 22, - 18, - 15, - 19, - 18, - 14, - 11, - 23, - 16, - 16, - 20, - 19, - 15, - 30, - 17, - 0, - 21, - 20, - 16, - 0, - 26, - 0, - 0, - 22, - 15, - 0, - 0, - 23, - 19, - 20, - 0, - 0, - 20, - 0, - 24, - 20, - 21, - 25, - 22, - 0, - 22, - 0, - 0, - 0, - 17, - 21, - 15, - 18, - 12, - 18, - 17, - 0, - 22, - 18, - 19, - 19, - 19, - 22, - 18, - 20, - 13, - 0, - 18, - 20, - 0, - 19, - 0, - 21, - 17, - 21, - 21, - 18, - 22, - 18, - 22, - 18, - 19, - 19, - 23, - 20, - 20, - 20, - 24, - 0, - 0, - 0, - 10, - 0, - 0, - 16, - 13, - 0, - 0, - 21, - 22, - 18, - 18, - 18, - 0, - 17, - 17, - 22, - 22, - 0, - 14, - 14, - 19, - 17, - 16, - 18, - 14, - 23, - 19, - 15, - 29, - 29, - 12, - 0, - 20, - 0, - 0, - 19, - 15, - 21, - 18, - 20, - 26, - 22, - 19, - 0, - 23, - 20, - 20, - 0, - 0, - 24, - 20, - 21, - 25, - 21, - 22, - 0, - 11, - 20, - 0, - 17, - 17, - 13, - 21, - 21, - 20, - 0, - 18, - 14, - 18, - 18, - 0, - 17, - 17, - 0, - 22, - 26, - 19, - 19, - 0, - 14, - 18, - 23, - 0, - 20, - 20, - 0, - 19, - 17, - 21, - 17, - 21, - 18, - 0, - 22, - 22, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 15, - 0, - 21, - 13, - 21, - 17, - 17, - 13, - 20, - 18, - 15, - 17, - 17, - 22, - 25, - 21, - 33, - 0, - 21, - 23, - 19, - 18, - 14, - 23, - 23, - 19, - 20, - 26, - 13, - 20, - 26, - 19, - 15, - 16, - 21, - 17, - 18, - 21, - 18, - 22, - 27, - 19, - 23, - 0, - 20, - 0, - 24, - 20, - 21, - 25, - 0, - 14, - 20, - 17, - 13, - 17, - 0, - 16, - 21, - 17, - 18, - 16, - 11, - 0, - 20, - 20, - 18, - 22, - 16, - 0, - 17, - 0, - 22, - 17, - 19, - 11, - 19, - 17, - 19, - 0, - 18, - 0, - 16, - 20, - 16, - 20, - 16, - 19, - 17, - 21, - 21, - 22, - 22, - 12, - 0, - 16, - 0, - 20, - 0, - 21, - 17, - 17, - 12, - 21, - 0, - 20, - 16, - 18, - 17, - 17, - 22, - 33, - 12, - 23, - 19, - 18, - 23, - 19, - 16, - 20, - 19, - 17, - 17, - 16, - 25, - 21, - 0, - 26, - 0, - 22, - 18, - 22, - 23, - 23, - 19, - 24, - 24, - 20, - 0, - 25, - 0, - 20, - 16, - 12, - 11, - 19, - 17, - 13, - 17, - 16, - 21, - 17, - 13, - 0, - 18, - 0, - 20, - 20, - 0, - 0, - 32, - 18, - 14, - 22, - 16, - 0, - 0, - 22, - 0, - 19, - 19, - 19, - 19, - 16, - 20, - 0, - 20, - 0, - 0, - 21, - 21, - 18, - 22, - 22, - 23, - 0, - 0, - 20, - 16, - 0, - 19, - 24, - 17, - 0, - 21, - 20, - 16, - 18, - 15, - 0, - 17, - 22, - 22, - 18, - 17, - 16, - 33, - 0, - 19, - 19, - 18, - 23, - 19, - 16, - 0, - 15, - 20, - 0, - 24, - 0, - 30, - 21, - 29, - 25, - 22, - 18, - 0, - 24, - 26, - 22, - 17, - 0, - 23, - 0, - 0, - 24, - 21, - 19, - 16, - 20, - 16, - 21, - 19, - 19, - 30, - 17, - 17, - 17, - 0, - 14, - 21, - 21, - 14, - 0, - 20, - 0, - 25, - 32, - 18, - 14, - 18, - 0, - 14, - 18, - 19, - 15, - 15, - 0, - 19, - 17, - 19, - 16, - 20, - 16, - 0, - 21, - 17, - 21, - 25, - 0, - 0, - 0, - 23, - 24, - 0, - 0, - 18, - 24, - 25, - 16, - 0, - 20, - 20, - 27, - 0, - 19, - 30, - 17, - 21, - 20, - 20, - 16, - 18, - 17, - 22, - 18, - 15, - 21, - 17, - 19, - 23, - 19, - 16, - 16, - 20, - 16, - 16, - 24, - 20, - 0, - 17, - 21, - 17, - 29, - 0, - 25, - 22, - 0, - 26, - 22, - 22, - 26, - 0, - 23, - 27, - 0, - 19, - 0, - 16, - 0, - 20, - 19, - 0, - 0, - 17, - 17, - 0, - 21, - 21, - 20, - 20, - 0, - 16, - 14, - 0, - 22, - 0, - 15, - 19, - 19, - 16, - 20, - 0, - 0, - 17, - 25, - 0, - 0, - 29, - 0, - 22, - 0, - 19, - 19, - 15, - 18, - 0, - 23, - 19, - 16, - 16, - 20, - 19, - 15, - 0, - 24, - 17, - 0, - 16, - 21, - 20, - 27, - 0, - 20, - 16, - 18, - 18, - 22, - 28, - 15, - 21, - 14, - 14, - 19, - 0, - 23, - 20, - 16, - 20, - 24, - 16, - 21, - 0, - 21, - 17, - 0, - 25, - 21, - 0, - 26, - 0, - 0, - 22, - 26, - 23, - 27, - 24, - 0, - 18, - 19, - 15, - 13, - 22, - 18, - 18, - 16, - 20, - 17, - 20, - 20, - 31, - 0, - 15, - 19, - 21, - 21, - 21, - 17, - 21, - 20, - 18, - 19, - 15, - 18, - 23, - 0, - 0, - 22, - 20, - 22, - 22, - 9, - 23, - 0, - 19, - 15, - 0, - 18, - 14, - 15, - 11, - 23, - 29, - 16, - 16, - 20, - 0, - 0, - 15, - 19, - 28, - 24, - 12, - 26, - 17, - 21, - 20, - 16, - 18, - 14, - 18, - 18, - 19, - 16, - 0, - 17, - 0, - 18, - 26, - 0, - 23, - 16, - 31, - 20, - 16, - 24, - 20, - 0, - 21, - 25, - 25, - 22, - 0, - 26, - 0, - 24, - 0, - 0, - 18, - 22, - 18, - 12, - 21, - 19, - 15, - 24, - 15, - 15, - 22, - 18, - 18, - 0, - 23, - 18, - 12, - 20, - 16, - 18, - 20, - 20, - 19, - 19, - 21, - 21, - 21, - 17, - 17, - 17, - 18, - 0, - 29, - 25, - 22, - 18, - 22, - 30, - 0, - 15, - 30, - 0, - 23, - 19, - 20, - 21, - 22, - 0, - 0, - 0, - 0, - 10, - 22, - 0, - 0, - 22, - 21, - 19, - 19, - 0, - 18, - 18, - 0, - 15, - 23, - 23, - 20, - 16, - 17, - 34, - 22, - 20, - 19, - 20, - 16, - 0, - 13, - 23, - 17, - 21, - 18, - 0, - 0, - 20, - 20, - 21, - 17, - 17, - 22, - 19, - 21, - 0, - 23, - 31, - 31, - 0, - 20, - 0, - 22, - 0, - 24, - 24, - 21, - 0, - 25, - 21, - 22, - 0, - 26, - 23, - 0, - 22, - 18, - 18, - 18, - 17, - 22, - 22, - 18, - 0, - 21, - 19, - 15, - 19, - 19, - 18, - 0, - 19, - 14, - 20, - 16, - 20, - 20, - 15, - 17, - 20, - 21, - 17, - 21, - 0, - 18, - 0, - 22, - 20, - 22, - 30, - 0, - 23, - 0, - 21, - 22, - 0, - 0, - 0, - 0, - 22, - 18, - 0, - 18, - 33, - 22, - 23, - 33, - 14, - 21, - 16, - 19, - 18, - 18, - 23, - 19, - 20, - 19, - 12, - 24, - 21, - 17, - 15, - 21, - 14, - 20, - 25, - 17, - 13, - 22, - 19, - 19, - 23, - 31, - 20, - 24, - 24, - 21, - 25, - 22, - 26, - 22, - 0, - 17, - 32, - 21, - 15, - 20, - 18, - 18, - 14, - 24, - 0, - 25, - 18, - 0, - 17, - 14, - 22, - 18, - 12, - 21, - 19, - 15, - 17, - 19, - 0, - 18, - 23, - 20, - 16, - 20, - 20, - 24, - 21, - 17, - 21, - 18, - 22, - 22, - 23, - 22, - 22, - 19, - 23, - 0, - 0, - 0, - 0, - 10, - 0, - 19, - 21, - 17, - 25, - 21, - 17, - 20, - 22, - 18, - 18, - 0, - 17, - 14, - 22, - 18, - 0, - 21, - 19, - 17, - 18, - 18, - 23, - 23, - 20, - 29, - 26, - 0, - 0, - 24, - 20, - 19, - 19, - 24, - 20, - 17, - 16, - 12, - 21, - 18, - 0, - 20, - 17, - 0, - 22, - 26, - 19, - 23, - 20, - 24, - 24, - 25, - 26, - 0, - 18, - 0, - 20, - 16, - 21, - 19, - 0, - 0, - 17, - 21, - 17, - 22, - 20, - 0, - 25, - 18, - 18, - 18, - 17, - 0, - 22, - 14, - 15, - 17, - 19, - 19, - 19, - 0, - 23, - 0, - 20, - 16, - 18, - 20, - 17, - 21, - 17, - 22, - 21, - 18, - 19, - 0, - 0, - 0, - 21, - 19, - 26, - 17, - 21, - 17, - 12, - 20, - 16, - 18, - 17, - 24, - 22, - 18, - 0, - 21, - 17, - 19, - 18, - 23, - 20, - 20, - 16, - 24, - 24, - 17, - 17, - 21, - 25, - 18, - 22, - 23, - 0, - 26, - 22, - 0, - 23, - 19, - 27, - 23, - 19, - 25, - 0, - 24, - 0, - 0, - 24, - 25, - 0, - 0, - 12, - 0, - 20, - 16, - 15, - 17, - 17, - 21, - 21, - 19, - 21, - 20, - 25, - 18, - 18, - 0, - 16, - 18, - 22, - 22, - 19, - 0, - 15, - 15, - 19, - 22, - 23, - 16, - 20, - 16, - 21, - 0, - 17, - 17, - 21, - 21, - 18, - 0, - 22, - 23, - 0, - 0, - 0, - 0, - 9, - 0, - 0, - 0, - 0, - 24, - 16, - 24, - 20, - 19, - 0, - 20, - 17, - 13, - 21, - 17, - 20, - 16, - 17, - 25, - 18, - 17, - 22, - 21, - 17, - 19, - 29, - 0, - 23, - 19, - 20, - 16, - 0, - 22, - 20, - 30, - 24, - 17, - 21, - 18, - 29, - 0, - 25, - 21, - 0, - 18, - 26, - 22, - 26, - 0, - 23, - 19, - 27, - 0, - 0, - 0, - 24, - 28, - 25, - 0, - 14, - 19, - 20, - 16, - 18, - 15, - 19, - 17, - 17, - 15, - 17, - 21, - 24, - 20, - 20, - 0, - 0, - 18, - 18, - 22, - 18, - 21, - 19, - 19, - 15, - 19, - 0, - 23, - 0, - 18, - 0, - 20, - 24, - 28, - 17, - 0, - 21, - 0, - 22, - 0, - 23, - 24, - 0, - 0, - 17, - 0, - 15, - 24, - 20, - 16, - 18, - 19, - 15, - 24, - 24, - 17, - 17, - 19, - 21, - 0, - 20, - 20, - 17, - 18, - 18, - 14, - 17, - 22, - 21, - 21, - 19, - 23, - 16, - 26, - 22, - 22, - 20, - 16, - 24, - 20, - 21, - 30, - 17, - 21, - 0, - 25, - 22, - 0, - 0, - 0, - 22, - 22, - 26, - 22, - 0, - 23, - 23, - 0, - 27, - 23, - 24, - 28, - 32, - 0, - 0, - 0, - 0, - 0, - 14, - 22, - 0, - 0, - 19, - 19, - 20, - 16, - 20, - 20, - 19, - 19, - 17, - 21, - 17, - 0, - 20, - 0, - 22, - 18, - 23, - 23, - 16, - 16, - 16, - 20, - 0, - 0, - 24, - 0, - 0, - 21, - 23, - 27, - 0, - 0, - 9, - 0, - 23, - 19, - 23, - 19, - 16, - 20, - 16, - 27, - 19, - 15, - 24, - 30, - 18, - 0, - 0, - 21, - 20, - 16, - 18, - 22, - 0, - 21, - 17, - 15, - 23, - 16, - 0, - 0, - 20, - 15, - 27, - 24, - 20, - 21, - 0, - 0, - 21, - 21, - 0, - 25, - 22, - 26, - 22, - 23, - 27, - 23, - 0, - 24, - 0, - 0, - 0, - 23, - 0, - 19, - 26, - 0, - 18, - 26, - 23, - 15, - 0, - 17, - 0, - 15, - 20, - 20, - 25, - 20, - 22, - 18, - 22, - 23, - 23, - 24, - 21, - 22, - 0, - 11, - 23, - 15, - 28, - 19, - 14, - 23, - 19, - 26, - 34, - 24, - 20, - 21, - 19, - 15, - 14, - 20, - 25, - 14, - 19, - 21, - 20, - 16, - 0, - 24, - 0, - 24, - 20, - 22, - 0, - 21, - 19, - 19, - 23, - 31, - 24, - 33, - 28, - 24, - 20, - 21, - 23, - 25, - 0, - 22, - 0, - 26, - 23, - 0, - 27, - 24, - 28, - 18, - 0, - 22, - 19, - 15, - 27, - 23, - 31, - 23, - 19, - 24, - 12, - 20, - 20, - 18, - 20, - 19, - 19, - 24, - 25, - 19, - 22, - 21, - 23, - 0, - 0, - 21, - 21, - 0, - 16, - 18, - 18, - 22, - 0, - 19, - 23, - 23, - 0, - 0, - 22, - 22, - 22, - 22, - 26, - 0, - 23, - 19, - 0, - 15, - 23, - 22, - 23, - 20, - 19, - 15, - 20, - 24, - 24, - 0, - 21, - 19, - 21, - 20, - 20, - 22, - 19, - 21, - 0, - 26, - 18, - 23, - 31, - 0, - 20, - 24, - 20, - 0, - 21, - 0, - 25, - 21, - 22, - 26, - 22, - 27, - 0, - 0, - 21, - 25, - 15, - 22, - 18, - 29, - 21, - 19, - 19, - 17, - 19, - 18, - 0, - 15, - 23, - 18, - 20, - 20, - 20, - 18, - 20, - 0, - 0, - 19, - 20, - 35, - 21, - 21, - 21, - 25, - 22, - 22, - 0, - 22, - 24, - 21, - 10, - 22, - 18, - 22, - 27, - 14, - 22, - 18, - 21, - 22, - 19, - 18, - 18, - 23, - 22, - 16, - 20, - 16, - 19, - 12, - 24, - 16, - 23, - 21, - 18, - 20, - 25, - 20, - 18, - 14, - 0, - 17, - 22, - 19, - 19, - 23, - 19, - 0, - 27, - 24, - 24, - 25, - 21, - 0, - 22, - 26, - 21, - 20, - 31, - 18, - 14, - 16, - 22, - 18, - 17, - 0, - 19, - 19, - 17, - 0, - 23, - 19, - 13, - 22, - 20, - 20, - 26, - 18, - 20, - 20, - 0, - 13, - 0, - 21, - 19, - 21, - 0, - 22, - 18, - 22, - 22, - 23, - 23, - 21, - 0, - 0, - 0, - 0, - 15, - 0, - 21, - 20, - 25, - 20, - 18, - 14, - 12, - 22, - 18, - 21, - 15, - 19, - 15, - 13, - 0, - 18, - 23, - 19, - 20, - 34, - 13, - 22, - 22, - 20, - 19, - 24, - 24, - 20, - 17, - 17, - 16, - 21, - 0, - 25, - 25, - 17, - 0, - 22, - 18, - 26, - 22, - 19, - 21, - 19, - 0, - 23, - 19, - 27, - 23, - 24, - 24, - 20, - 0, - 28, - 0, - 25, - 21, - 0, - 0, - 29, - 26, - 0, - 18, - 15, - 20, - 21, - 11, - 21, - 20, - 0, - 31, - 18, - 18, - 25, - 22, - 18, - 12, - 22, - 17, - 19, - 19, - 19, - 23, - 23, - 0, - 33, - 20, - 20, - 0, - 17, - 17, - 17, - 21, - 22, - 0, - 24, - 23, - 24, - 0, - 26, - 0, - 0, - 0, - 13, - 23, - 19, - 17, - 21, - 17, - 22, - 20, - 16, - 21, - 21, - 17, - 18, - 22, - 18, - 21, - 17, - 19, - 19, - 21, - 26, - 0, - 23, - 19, - 22, - 18, - 20, - 20, - 17, - 0, - 24, - 17, - 21, - 21, - 0, - 16, - 25, - 18, - 18, - 22, - 18, - 26, - 22, - 0, - 23, - 27, - 23, - 24, - 24, - 20, - 0, - 28, - 24, - 0, - 0, - 0, - 29, - 26, - 0, - 0, - 20, - 19, - 30, - 25, - 34, - 21, - 17, - 22, - 21, - 20, - 0, - 18, - 22, - 18, - 19, - 22, - 21, - 21, - 19, - 23, - 23, - 16, - 20, - 20, - 30, - 17, - 21, - 18, - 0, - 24, - 0, - 14, - 10, - 0, - 24, - 24, - 0, - 27, - 19, - 24, - 20, - 21, - 17, - 20, - 20, - 16, - 25, - 25, - 18, - 22, - 18, - 21, - 17, - 19, - 23, - 19, - 16, - 26, - 34, - 0, - 22, - 18, - 20, - 16, - 24, - 24, - 17, - 17, - 21, - 25, - 25, - 18, - 18, - 0, - 22, - 19, - 17, - 19, - 26, - 0, - 0, - 23, - 27, - 23, - 0, - 0, - 24, - 28, - 28, - 25, - 29, - 25, - 0, - 0, - 0, - 0, - 20, - 20, - 16, - 0, - 19, - 21, - 17, - 15, - 17, - 20, - 22, - 18, - 22, - 21, - 0, - 23, - 19, - 16, - 17, - 0, - 26, - 0, - 0, - 23, - 18, - 22, - 0, - 27, - 28, - 24, - 24, - 29, - 20, - 19, - 12, - 24, - 20, - 30, - 17, - 0, - 20, - 21, - 21, - 20, - 20, - 25, - 0, - 0, - 27, - 18, - 22, - 21, - 0, - 32, - 19, - 23, - 16, - 22, - 18, - 24, - 15, - 24, - 20, - 17, - 21, - 25, - 25, - 25, - 21, - 0, - 0, - 22, - 26, - 26, - 0, - 23, - 27, - 24, - 0, - 28, - 24, - 25, - 19, - 23, - 20, - 20, - 16, - 19, - 19, - 0, - 21, - 21, - 21, - 19, - 24, - 0, - 20, - 26, - 22, - 0, - 20, - 22, - 0, - 23, - 19, - 24, - 27, - 25, - 26, - 23, - 0, - 0, - 0, - 0, - 0, - 23, - 19, - 16, - 0, - 29, - 20, - 22, - 21, - 19, - 15, - 24, - 20, - 17, - 23, - 17, - 21, - 20, - 16, - 13, - 27, - 22, - 18, - 0, - 21, - 23, - 23, - 16, - 0, - 20, - 19, - 24, - 21, - 25, - 21, - 22, - 24, - 26, - 22, - 23, - 0, - 27, - 23, - 24, - 0, - 0, - 0, - 19, - 15, - 23, - 20, - 16, - 25, - 16, - 19, - 24, - 24, - 20, - 21, - 17, - 19, - 21, - 17, - 20, - 22, - 22, - 15, - 20, - 22, - 19, - 0, - 23, - 19, - 24, - 23, - 22, - 24, - 0, - 0, - 0, - 13, - 26, - 23, - 19, - 23, - 19, - 24, - 13, - 22, - 18, - 20, - 20, - 27, - 14, - 0, - 19, - 15, - 20, - 24, - 24, - 14, - 14, - 21, - 20, - 16, - 25, - 21, - 22, - 22, - 21, - 17, - 23, - 19, - 20, - 0, - 24, - 20, - 23, - 0, - 25, - 22, - 26, - 22, - 23, - 27, - 28, - 0, - 0, - 22, - 18, - 23, - 23, - 19, - 15, - 18, - 26, - 13, - 23, - 19, - 19, - 18, - 13, - 33, - 33, - 20, - 16, - 18, - 20, - 23, - 19, - 16, - 19, - 25, - 21, - 0, - 21, - 21, - 21, - 28, - 0, - 22, - 18, - 0, - 23, - 19, - 21, - 0, - 19, - 20, - 0, - 25, - 0, - 0, - 21, - 0, - 11, - 22, - 28, - 19, - 0, - 15, - 23, - 19, - 24, - 15, - 22, - 24, - 20, - 16, - 0, - 19, - 24, - 20, - 23, - 19, - 21, - 20, - 21, - 13, - 21, - 21, - 14, - 18, - 14, - 22, - 22, - 15, - 23, - 27, - 20, - 28, - 24, - 24, - 25, - 25, - 26, - 22, - 27, - 0, - 21, - 22, - 18, - 21, - 0, - 19, - 15, - 23, - 23, - 23, - 17, - 13, - 22, - 33, - 20, - 18, - 20, - 23, - 16, - 24, - 19, - 18, - 13, - 21, - 21, - 19, - 22, - 22, - 22, - 0, - 19, - 21, - 26, - 24, - 20, - 24, - 25, - 25, - 21, - 0, - 20, - 14, - 0, - 22, - 18, - 26, - 0, - 23, - 21, - 17, - 19, - 15, - 20, - 18, - 23, - 19, - 15, - 22, - 18, - 20, - 0, - 19, - 20, - 24, - 20, - 23, - 17, - 21, - 20, - 16, - 21, - 26, - 18, - 17, - 13, - 22, - 26, - 22, - 23, - 19, - 19, - 27, - 20, - 24, - 24, - 0, - 28, - 25, - 0, - 29, - 24, - 26, - 26, - 0, - 27, - 0, - 27, - 10, - 21, - 21, - 12, - 25, - 14, - 22, - 18, - 22, - 21, - 21, - 19, - 15, - 15, - 23, - 19, - 26, - 18, - 22, - 20, - 0, - 20, - 19, - 21, - 22, - 31, - 18, - 22, - 23, - 0, - 24, - 24, - 21, - 0, - 27, - 0, - 0, - 25, - 21, - 24, - 18, - 22, - 0, - 0, - 21, - 22, - 32, - 19, - 23, - 23, - 34, - 22, - 18, - 20, - 20, - 24, - 20, - 21, - 19, - 23, - 30, - 17, - 19, - 21, - 0, - 25, - 21, - 26, - 18, - 22, - 26, - 18, - 19, - 23, - 23, - 27, - 23, - 33, - 20, - 24, - 20, - 28, - 28, - 25, - 0, - 0, - 29, - 25, - 0, - 26, - 30, - 0, - 27, - 0, - 10, - 13, - 21, - 21, - 17, - 16, - 0, - 22, - 14, - 22, - 0, - 21, - 19, - 17, - 15, - 23, - 19, - 19, - 18, - 22, - 20, - 0, - 24, - 17, - 17, - 0, - 17, - 25, - 26, - 22, - 18, - 24, - 19, - 23, - 0, - 20, - 0, - 0, - 0, - 0, - 21, - 0, - 20, - 21, - 18, - 14, - 22, - 18, - 32, - 0, - 21, - 21, - 14, - 19, - 19, - 0, - 18, - 23, - 23, - 22, - 22, - 20, - 16, - 24, - 20, - 17, - 23, - 21, - 21, - 32, - 28, - 0, - 25, - 21, - 18, - 0, - 0, - 17, - 0, - 21, - 22, - 18, - 26, - 0, - 23, - 23, - 27, - 0, - 0, - 24, - 20, - 30, - 28, - 24, - 25, - 0, - 29, - 25, - 0, - 12, - 21, - 21, - 31, - 20, - 22, - 22, - 22, - 18, - 23, - 19, - 22, - 21, - 37, - 15, - 0, - 23, - 19, - 21, - 18, - 22, - 16, - 0, - 24, - 16, - 25, - 17, - 0, - 20, - 25, - 0, - 0, - 0, - 0, - 29, - 27, - 28, - 0, - 12, - 24, - 26, - 17, - 31, - 25, - 21, - 0, - 21, - 21, - 0, - 20, - 17, - 13, - 25, - 31, - 17, - 22, - 21, - 17, - 26, - 26, - 22, - 19, - 17, - 23, - 19, - 0, - 22, - 18, - 33, - 20, - 24, - 20, - 17, - 0, - 0, - 23, - 16, - 25, - 21, - 18, - 22, - 18, - 26, - 23, - 0, - 27, - 27, - 24, - 24, - 28, - 24, - 0, - 0, - 29, - 29, - 25, - 20, - 16, - 0, - 0, - 24, - 19, - 0, - 34, - 21, - 17, - 19, - 21, - 20, - 20, - 25, - 23, - 33, - 22, - 22, - 20, - 22, - 22, - 17, - 21, - 23, - 23, - 21, - 23, - 17, - 27, - 16, - 24, - 20, - 17, - 17, - 17, - 20, - 25, - 21, - 0, - 26, - 26, - 27, - 0, - 0, - 24, - 25, - 21, - 24, - 25, - 21, - 21, - 17, - 0, - 20, - 25, - 21, - 19, - 22, - 32, - 0, - 32, - 0, - 23, - 0, - 22, - 18, - 23, - 15, - 20, - 24, - 17, - 21, - 25, - 21, - 26, - 22, - 22, - 26, - 22, - 23, - 0, - 27, - 28, - 24, - 28, - 0, - 29, - 20, - 31, - 0, - 23, - 33, - 20, - 16, - 0, - 24, - 18, - 34, - 21, - 17, - 21, - 21, - 16, - 20, - 21, - 0, - 22, - 18, - 15, - 22, - 25, - 21, - 19, - 19, - 21, - 0, - 23, - 26, - 20, - 19, - 19, - 0, - 24, - 24, - 25, - 26, - 23, - 23, - 14, - 19, - 15, - 30, - 27, - 24, - 20, - 24, - 0, - 29, - 20, - 19, - 16, - 24, - 23, - 17, - 21, - 21, - 17, - 20, - 25, - 25, - 24, - 26, - 35, - 22, - 22, - 21, - 17, - 26, - 23, - 19, - 24, - 20, - 25, - 22, - 0, - 24, - 26, - 0, - 27, - 24, - 28, - 28, - 0, - 0, - 15, - 28, - 15, - 23, - 23, - 17, - 13, - 22, - 33, - 20, - 20, - 18, - 24, - 24, - 20, - 13, - 18, - 24, - 14, - 21, - 21, - 21, - 21, - 20, - 26, - 22, - 22, - 18, - 22, - 21, - 0, - 23, - 23, - 23, - 26, - 24, - 24, - 21, - 25, - 21, - 23, - 0, - 16, - 10, - 17, - 17, - 22, - 15, - 20, - 0, - 23, - 14, - 33, - 20, - 16, - 37, - 24, - 20, - 23, - 17, - 21, - 17, - 17, - 20, - 25, - 21, - 24, - 22, - 21, - 14, - 26, - 23, - 19, - 0, - 24, - 20, - 21, - 0, - 28, - 25, - 25, - 22, - 0, - 23, - 0, - 26, - 27, - 23, - 0, - 24, - 24, - 17, - 22, - 18, - 0, - 23, - 19, - 19, - 0, - 20, - 20, - 21, - 19, - 24, - 20, - 21, - 14, - 23, - 21, - 17, - 27, - 21, - 28, - 0, - 22, - 18, - 22, - 25, - 19, - 18, - 24, - 19, - 24, - 24, - 21, - 25, - 0, - 0, - 0, - 0, - 22, - 18, - 26, - 19, - 15, - 27, - 23, - 19, - 19, - 22, - 27, - 0, - 0, - 20, - 16, - 29, - 24, - 20, - 20, - 14, - 23, - 19, - 29, - 0, - 34, - 21, - 17, - 19, - 0, - 16, - 25, - 21, - 22, - 20, - 22, - 18, - 26, - 22, - 23, - 19, - 27, - 24, - 0, - 28, - 25, - 21, - 29, - 0, - 26, - 22, - 27, - 22, - 19, - 26, - 19, - 36, - 23, - 23, - 24, - 17, - 21, - 13, - 14, - 33, - 20, - 38, - 32, - 24, - 20, - 27, - 23, - 21, - 21, - 21, - 21, - 25, - 18, - 24, - 22, - 19, - 0, - 0, - 25, - 0, - 16, - 0, - 13, - 16, - 14, - 22, - 0, - 19, - 20, - 16, - 0, - 23, - 23, - 24, - 0, - 22, - 20, - 20, - 0, - 0, - 37, - 24, - 24, - 26, - 0, - 0, - 19, - 21, - 21, - 0, - 25, - 18, - 22, - 18, - 17, - 0, - 0, - 26, - 27, - 19, - 0, - 0, - 0, - 23, - 19, - 27, - 23, - 20, - 0, - 24, - 20, - 20, - 28, - 24, - 21, - 25, - 0, - 29, - 26, - 30, - 26, - 0, - 27, - 28, - 0, - 14, - 35, - 22, - 22, - 16, - 13, - 0, - 0, - 23, - 19, - 16, - 23, - 0, - 22, - 0, - 18, - 16, - 24, - 24, - 24, - 23, - 22, - 32, - 19, - 19, - 19, - 20, - 0, - 0, - 21, - 0, - 0, - 0, - 0, - 0, - 0, - 14, - 22, - 0, - 0, - 21, - 22, - 32, - 19, - 23, - 0, - 22, - 18, - 0, - 20, - 20, - 24, - 17, - 17, - 31, - 23, - 17, - 21, - 21, - 25, - 21, - 26, - 18, - 24, - 0, - 22, - 21, - 23, - 26, - 22, - 27, - 19, - 0, - 36, - 23, - 27, - 23, - 0, - 0, - 24, - 20, - 0, - 28, - 0, - 25, - 21, - 29, - 26, - 30, - 0, - 0, - 0, - 21, - 0, - 17, - 25, - 22, - 18, - 22, - 0, - 21, - 21, - 15, - 23, - 23, - 0, - 26, - 22, - 24, - 20, - 0, - 17, - 0, - 17, - 29, - 0, - 32, - 28, - 26, - 22, - 18, - 21, - 22, - 0, - 24, - 26, - 23, - 27, - 0, - 27, - 24, - 28, - 0, - 13, - 0, - 14, - 0, - 25, - 21, - 18, - 32, - 20, - 22, - 18, - 21, - 21, - 17, - 26, - 26, - 22, - 19, - 20, - 20, - 23, - 22, - 0, - 0, - 26, - 18, - 17, - 26, - 26, - 36, - 0, - 27, - 23, - 24, - 28, - 0, - 25, - 0, - 29, - 25, - 26, - 30, - 0, - 0, - 21, - 20, - 0, - 0, - 22, - 22, - 0, - 16, - 21, - 23, - 19, - 22, - 0, - 15, - 24, - 24, - 25, - 0, - 17, - 0, - 0, - 25, - 25, - 22, - 0, - 26, - 0, - 0, - 25, - 27, - 28, - 19, - 25, - 0, - 21, - 21, - 0, - 20, - 17, - 25, - 25, - 21, - 0, - 0, - 21, - 0, - 31, - 22, - 0, - 21, - 17, - 18, - 18, - 26, - 16, - 23, - 22, - 22, - 19, - 28, - 37, - 14, - 17, - 0, - 0, - 23, - 21, - 0, - 0, - 25, - 21, - 18, - 0, - 22, - 26, - 22, - 23, - 27, - 0, - 24, - 28, - 25, - 29, - 25, - 0, - 0, - 26, - 26, - 0, - 0, - 20, - 0, - 24, - 20, - 21, - 17, - 16, - 0, - 17, - 25, - 25, - 21, - 35, - 22, - 22, - 22, - 17, - 0, - 27, - 0, - 23, - 27, - 16, - 0, - 17, - 0, - 20, - 0, - 24, - 24, - 21, - 25, - 21, - 26, - 26, - 27, - 24, - 29, - 24, - 0, - 24, - 0, - 16, - 28, - 21, - 30, - 21, - 25, - 25, - 21, - 0, - 0, - 0, - 0, - 25, - 0, - 22, - 18, - 0, - 21, - 0, - 26, - 22, - 37, - 23, - 22, - 18, - 27, - 23, - 19, - 24, - 25, - 20, - 26, - 26, - 26, - 27, - 24, - 28, - 25, - 29, - 29, - 23, - 0, - 0, - 20, - 0, - 24, - 34, - 21, - 18, - 0, - 17, - 20, - 0, - 0, - 0, - 35, - 22, - 22, - 19, - 16, - 21, - 23, - 19, - 23, - 0, - 24, - 24, - 0, - 25, - 25, - 26, - 26, - 28, - 0, - 0, - 0, - 15, - 24, - 16, - 20, - 24, - 20, - 20, - 23, - 0, - 21, - 17, - 20, - 25, - 21, - 0, - 15, - 24, - 26, - 22, - 22, - 18, - 21, - 26, - 22, - 16, - 23, - 23, - 22, - 27, - 19, - 0, - 24, - 28, - 0, - 16, - 25, - 25, - 22, - 26, - 22, - 27, - 23, - 24, - 28, - 24, - 29, - 25, - 0, - 15, - 23, - 20, - 0, - 24, - 20, - 20, - 0, - 21, - 21, - 17, - 25, - 0, - 22, - 22, - 23, - 23, - 21, - 0, - 20, - 24, - 0, - 26, - 0, - 0, - 0, - 15, - 24, - 27, - 20, - 24, - 24, - 20, - 14, - 23, - 0, - 21, - 17, - 22, - 20, - 25, - 25, - 0, - 24, - 20, - 0, - 35, - 22, - 0, - 26, - 26, - 36, - 23, - 27, - 19, - 19, - 0, - 24, - 24, - 28, - 24, - 21, - 0, - 25, - 29, - 22, - 26, - 22, - 27, - 23, - 28, - 24, - 0, - 18, - 23, - 23, - 23, - 0, - 0, - 37, - 24, - 20, - 0, - 23, - 15, - 21, - 21, - 25, - 21, - 24, - 0, - 0, - 19, - 18, - 26, - 20, - 0, - 0, - 0, - 29, - 0, - 0, - 15, - 23, - 23, - 19, - 22, - 18, - 20, - 16, - 21, - 0, - 0, - 0, - 16, - 24, - 24, - 23, - 23, - 24, - 34, - 21, - 25, - 0, - 24, - 20, - 0, - 22, - 0, - 0, - 26, - 26, - 22, - 0, - 23, - 25, - 19, - 36, - 27, - 27, - 0, - 20, - 20, - 22, - 0, - 24, - 0, - 28, - 28, - 20, - 21, - 0, - 25, - 29, - 25, - 22, - 0, - 26, - 30, - 27, - 0, - 28, - 0, - 29, - 0, - 0, - 0, - 0, - 22, - 18, - 14, - 36, - 23, - 19, - 15, - 17, - 22, - 16, - 37, - 24, - 0, - 24, - 0, - 0, - 23, - 21, - 0, - 25, - 21, - 22, - 22, - 0, - 19, - 19, - 33, - 20, - 0, - 25, - 0, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 26, - 22, - 19, - 23, - 19, - 22, - 18, - 27, - 20, - 16, - 24, - 20, - 23, - 21, - 21, - 25, - 21, - 18, - 0, - 0, - 0, - 0, - 22, - 22, - 0, - 26, - 22, - 19, - 0, - 23, - 23, - 27, - 27, - 20, - 19, - 37, - 24, - 28, - 24, - 21, - 29, - 25, - 29, - 25, - 26, - 30, - 26, - 27, - 0, - 28, - 30, - 0, - 35, - 22, - 22, - 0, - 0, - 23, - 23, - 23, - 26, - 0, - 18, - 24, - 24, - 0, - 19, - 0, - 17, - 0, - 21, - 18, - 18, - 25, - 0, - 0, - 0, - 0, - 18, - 18, - 27, - 0, - 27, - 23, - 23, - 0, - 26, - 26, - 28, - 28, - 29, - 0, - 0, - 22, - 18, - 0, - 26, - 22, - 21, - 23, - 0, - 0, - 22, - 18, - 20, - 0, - 24, - 20, - 0, - 0, - 23, - 19, - 34, - 17, - 18, - 25, - 21, - 18, - 17, - 0, - 26, - 22, - 19, - 0, - 17, - 17, - 20, - 21, - 24, - 24, - 20, - 28, - 28, - 20, - 25, - 29, - 26, - 30, - 22, - 18, - 0, - 0, - 21, - 0, - 0, - 0, - 23, - 19, - 21, - 19, - 0, - 0, - 37, - 24, - 24, - 0, - 0, - 17, - 0, - 0, - 25, - 0, - 0, - 18, - 26, - 29, - 23, - 27, - 27, - 19, - 28, - 0, - 0, - 0, - 16, - 25, - 18, - 0, - 22, - 21, - 26, - 22, - 23, - 0, - 22, - 18, - 19, - 24, - 0, - 23, - 25, - 21, - 18, - 35, - 26, - 22, - 23, - 0, - 27, - 23, - 24, - 28, - 24, - 25, - 29, - 26, - 30, - 21, - 0, - 0, - 0, - 25, - 21, - 22, - 18, - 0, - 21, - 26, - 0, - 0, - 23, - 19, - 23, - 19, - 22, - 24, - 17, - 24, - 27, - 17, - 0, - 25, - 0, - 26, - 22, - 0, - 25, - 27, - 23, - 26, - 0, - 29, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 18, - 0, - 29, - 0, - 25, - 21, - 0, - 17, - 24, - 22, - 18, - 21, - 17, - 26, - 22, - 0, - 17, - 16, - 16, - 23, - 19, - 0, - 22, - 18, - 0, - 27, - 23, - 23, - 24, - 24, - 0, - 17, - 25, - 25, - 0, - 18, - 0, - 26, - 27, - 23, - 26, - 0, - 0, - 28, - 25, - 29, - 25, - 26, - 30, - 0, - 17, - 0, - 0, - 24, - 20, - 21, - 18, - 20, - 17, - 25, - 21, - 15, - 0, - 35, - 0, - 18, - 0, - 0, - 26, - 36, - 23, - 21, - 23, - 23, - 16, - 37, - 24, - 24, - 0, - 17, - 25, - 0, - 21, - 0, - 21, - 25, - 26, - 26, - 27, - 25, - 27, - 32, - 29, - 25, - 0, - 0, - 0, - 20, - 0, - 24, - 20, - 30, - 0, - 21, - 0, - 25, - 21, - 0, - 0, - 0, - 21, - 0, - 24, - 20, - 22, - 22, - 0, - 39, - 26, - 27, - 27, - 16, - 0, - 23, - 22, - 0, - 0, - 27, - 0, - 37, - 24, - 0, - 28, - 0, - 0, - 0, - 25, - 18, - 26, - 22, - 27, - 23, - 24, - 0, - 28, - 24, - 29, - 31, - 29, - 25, - 0, - 0, - 0, - 16, - 16, - 24, - 0, - 18, - 20, - 16, - 21, - 0, - 25, - 24, - 0, - 35, - 0, - 0, - 22, - 0, - 18, - 26, - 19, - 16, - 21, - 25, - 23, - 19, - 23, - 26, - 16, - 20, - 24, - 25, - 21, - 26, - 23, - 25, - 0, - 24, - 0, - 24, - 0, - 0, - 34, - 21, - 17, - 15, - 15, - 15, - 24, - 0, - 22, - 18, - 26, - 22, - 18, - 19, - 0, - 25, - 25, - 21, - 26, - 23, - 19, - 27, - 23, - 24, - 20, - 28, - 28, - 29, - 21, - 25, - 21, - 29, - 22, - 26, - 26, - 30, - 0, - 27, - 28, - 28, - 25, - 0, - 30, - 0, - 23, - 17, - 0, - 0, - 24, - 24, - 0, - 0, - 0, - 0, - 0, - 38, - 25, - 21, - 0, - 0, - 0, - 0, - 24, - 16, - 26, - 24, - 35, - 18, - 26, - 25, - 0, - 23, - 23, - 20, - 20, - 37, - 20, - 28, - 26, - 25, - 0, - 0, - 0, - 0, - 0, - 30, - 0, - 18, - 16, - 24, - 0, - 16, - 23, - 0, - 28, - 24, - 21, - 17, - 25, - 21, - 0, - 18, - 0, - 24, - 0, - 37, - 24, - 22, - 18, - 26, - 0, - 0, - 36, - 23, - 23, - 0, - 27, - 23, - 20, - 16, - 0, - 24, - 24, - 20, - 28, - 24, - 21, - 0, - 38, - 25, - 0, - 29, - 25, - 22, - 26, - 30, - 30, - 0, - 27, - 26, - 28, - 0, - 0, - 30, - 0, - 23, - 18, - 24, - 20, - 25, - 20, - 23, - 15, - 25, - 26, - 23, - 0, - 0, - 24, - 0, - 22, - 22, - 18, - 26, - 19, - 15, - 0, - 25, - 21, - 34, - 26, - 0, - 28, - 0, - 0, - 0, - 0, - 23, - 23, - 24, - 15, - 22, - 24, - 20, - 23, - 19, - 34, - 21, - 0, - 25, - 21, - 0, - 24, - 20, - 17, - 22, - 22, - 26, - 22, - 0, - 19, - 15, - 0, - 25, - 25, - 0, - 0, - 27, - 27, - 20, - 20, - 0, - 0, - 24, - 32, - 0, - 28, - 24, - 34, - 21, - 21, - 38, - 25, - 29, - 25, - 22, - 30, - 30, - 26, - 0, - 0, - 26, - 22, - 30, - 30, - 30, - 27, - 27, - 0, - 0, - 31, - 27, - 28, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 23, - 19, - 0, - 21, - 0, - 22, - 14, - 0, - 0, - 19, - 37, - 24, - 20, - 25, - 0, - 19, - 24, - 19, - 23, - 0, - 0, - 22, - 23, - 24, - 0, - 0, - 26, - 19, - 20, - 0, - 0, - 28, - 24, - 0, - 26, - 28, - 21, - 0, - 29, - 22, - 23, - 19, - 15, - 0, - 22, - 18, - 27, - 0, - 20, - 24, - 20, - 23, - 23, - 16, - 24, - 34, - 38, - 25, - 21, - 18, - 32, - 24, - 0, - 0, - 0, - 0, - 26, - 19, - 19, - 27, - 23, - 20, - 20, - 0, - 0, - 19, - 20, - 28, - 21, - 29, - 25, - 29, - 26, - 30, - 30, - 26, - 0, - 0, - 31, - 0, - 21, - 0, - 0, - 18, - 0, - 0, - 23, - 19, - 23, - 22, - 23, - 24, - 20, - 0, - 23, - 23, - 0, - 25, - 0, - 17, - 19, - 19, - 19, - 0, - 0, - 28, - 0, - 0, - 0, - 26, - 22, - 0, - 23, - 19, - 22, - 0, - 27, - 23, - 16, - 0, - 0, - 0, - 26, - 0, - 0, - 24, - 20, - 23, - 28, - 24, - 0, - 23, - 28, - 25, - 21, - 0, - 18, - 32, - 24, - 20, - 16, - 26, - 25, - 0, - 19, - 0, - 27, - 27, - 24, - 28, - 28, - 21, - 29, - 29, - 26, - 30, - 30, - 0, - 22, - 14, - 26, - 26, - 0, - 23, - 0, - 0, - 19, - 22, - 24, - 24, - 20, - 25, - 26, - 26, - 0, - 26, - 27, - 29, - 0, - 0, - 0, - 22, - 26, - 22, - 23, - 19, - 22, - 18, - 27, - 27, - 28, - 16, - 0, - 0, - 24, - 20, - 23, - 23, - 20, - 39, - 25, - 21, - 18, - 0, - 26, - 22, - 31, - 27, - 24, - 28, - 24, - 27, - 29, - 29, - 0, - 30, - 0, - 0, - 30, - 0, - 0, - 35, - 22, - 39, - 26, - 27, - 21, - 36, - 23, - 23, - 24, - 20, - 25, - 21, - 20, - 26, - 27, - 27, - 23, - 0, - 30, - 0, - 0, - 0, - 0, - 25, - 15, - 31, - 22, - 0, - 0, - 0, - 26, - 26, - 22, - 25, - 23, - 23, - 0, - 40, - 27, - 0, - 24, - 24, - 19, - 0, - 24, - 21, - 0, - 25, - 18, - 26, - 22, - 27, - 23, - 0, - 26, - 24, - 0, - 28, - 24, - 29, - 25, - 0, - 30, - 30, - 0, - 0, - 24, - 17, - 38, - 25, - 20, - 22, - 39, - 26, - 22, - 27, - 0, - 25, - 36, - 21, - 17, - 22, - 25, - 26, - 27, - 27, - 29, - 0, - 0, - 0, - 0, - 0, - 25, - 25, - 21, - 0, - 25, - 22, - 18, - 26, - 26, - 15, - 20, - 25, - 26, - 23, - 19, - 27, - 27, - 19, - 24, - 0, - 0, - 28, - 0, - 25, - 25, - 29, - 0, - 26, - 0, - 27, - 28, - 28, - 29, - 26, - 0, - 16, - 24, - 20, - 19, - 0, - 0, - 38, - 25, - 0, - 0, - 0, - 0, - 18, - 39, - 26, - 22, - 26, - 25, - 25, - 0, - 23, - 21, - 25, - 0, - 31, - 31, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 0, - 20, - 28, - 0, - 25, - 25, - 15, - 24, - 21, - 29, - 35, - 0, - 22, - 26, - 26, - 25, - 0, - 0, - 25, - 23, - 23, - 19, - 23, - 22, - 0, - 0, - 0, - 24, - 16, - 0, - 28, - 0, - 21, - 21, - 25, - 25, - 0, - 29, - 25, - 22, - 26, - 26, - 0, - 22, - 0, - 0, - 27, - 24, - 28, - 29, - 30, - 0, - 0, - 14, - 0, - 24, - 20, - 0, - 0, - 38, - 25, - 25, - 25, - 39, - 0, - 0, - 22, - 0, - 20, - 20, - 25, - 27, - 0, - 28, - 0, - 0, - 0, - 30, - 0, - 0, - 0, - 0, - 24, - 20, - 19, - 0, - 25, - 21, - 0, - 24, - 35, - 22, - 0, - 0, - 26, - 22, - 25, - 23, - 0, - 20, - 0, - 0, - 27, - 0, - 20, - 16, - 0, - 20, - 28, - 21, - 25, - 0, - 29, - 29, - 22, - 22, - 0, - 26, - 30, - 30, - 0, - 27, - 27, - 23, - 35, - 0, - 0, - 0, - 19, - 0, - 37, - 24, - 24, - 20, - 24, - 18, - 25, - 25, - 26, - 25, - 0, - 0, - 20, - 24, - 39, - 26, - 26, - 0, - 0, - 20, - 20, - 25, - 0, - 29, - 0, - 33, - 19, - 19, - 23, - 16, - 24, - 25, - 0, - 38, - 25, - 25, - 0, - 0, - 24, - 0, - 19, - 0, - 39, - 39, - 26, - 0, - 36, - 27, - 23, - 20, - 20, - 0, - 28, - 29, - 21, - 29, - 25, - 29, - 25, - 22, - 0, - 30, - 26, - 22, - 30, - 26, - 27, - 0, - 26, - 0, - 0, - 0, - 0, - 36, - 23, - 0, - 24, - 24, - 24, - 0, - 0, - 0, - 0, - 38, - 25, - 21, - 0, - 38, - 38, - 28, - 24, - 26, - 0, - 28, - 0, - 26, - 28, - 38, - 0, - 0, - 26, - 26, - 31, - 26, - 18, - 0, - 19, - 0, - 0, - 0, - 27, - 0, - 24, - 20, - 0, - 0, - 0, - 23, - 19, - 28, - 38, - 25, - 21, - 24, - 26, - 22, - 19, - 33, - 25, - 24, - 27, - 23, - 0, - 28, - 24, - 0, - 29, - 26, - 22, - 0, - 30, - 26, - 27, - 0, - 0, - 36, - 19, - 27, - 0, - 37, - 24, - 37, - 19, - 38, - 21, - 31, - 26, - 0, - 0, - 0, - 27, - 0, - 0, - 26, - 22, - 0, - 0, - 19, - 24, - 40, - 27, - 0, - 35, - 16, - 0, - 0, - 31, - 0, - 19, - 37, - 24, - 20, - 23, - 24, - 25, - 21, - 24, - 0, - 22, - 27, - 19, - 0, - 27, - 23, - 20, - 28, - 28, - 0, - 29, - 30, - 30, - 0, - 27, - 0, - 0, - 26, - 22, - 0, - 36, - 23, - 0, - 36, - 19, - 16, - 0, - 37, - 24, - 0, - 18, - 0, - 26, - 27, - 24, - 29, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 35, - 26, - 0, - 18, - 23, - 19, - 19, - 27, - 0, - 0, - 26, - 22, - 24, - 20, - 41, - 28, - 25, - 25, - 29, - 0, - 0, - 29, - 26, - 26, - 27, - 27, - 28, - 24, - 0, - 28, - 24, - 0, - 29, - 0, - 0, - 31, - 0, - 0, - 0, - 20, - 25, - 0, - 18, - 26, - 20, - 21, - 19, - 0, - 24, - 0, - 0, - 0, - 18, - 25, - 26, - 26, - 0, - 24, - 0, - 0, - 25, - 19, - 0, - 0, - 26, - 27, - 0, - 23, - 19, - 40, - 27, - 23, - 28, - 20, - 16, - 21, - 0, - 24, - 24, - 41, - 28, - 28, - 0, - 25, - 21, - 0, - 25, - 26, - 26, - 0, - 27, - 0, - 28, - 24, - 0, - 29, - 30, - 30, - 29, - 0, - 17, - 25, - 25, - 0, - 26, - 16, - 0, - 27, - 21, - 17, - 25, - 25, - 27, - 30, - 0, - 0, - 0, - 0, - 21, - 0, - 24, - 0, - 0, - 22, - 18, - 0, - 0, - 26, - 22, - 18, - 25, - 21, - 0, - 0, - 0, - 23, - 27, - 23, - 0, - 24, - 20, - 20, - 16, - 28, - 29, - 0, - 0, - 38, - 25, - 21, - 29, - 25, - 39, - 26, - 26, - 22, - 30, - 26, - 23, - 27, - 23, - 24, - 28, - 29, - 0, - 30, - 31, - 32, - 24, - 20, - 0, - 0, - 38, - 25, - 25, - 0, - 20, - 0, - 39, - 26, - 26, - 24, - 0, - 20, - 16, - 25, - 17, - 28, - 0, - 0, - 25, - 0, - 23, - 29, - 0, - 0, - 0, - 26, - 20, - 0, - 28, - 0, - 25, - 25, - 21, - 15, - 24, - 20, - 25, - 22, - 26, - 22, - 16, - 25, - 21, - 0, - 0, - 27, - 23, - 24, - 24, - 24, - 16, - 28, - 24, - 21, - 0, - 16, - 25, - 21, - 29, - 30, - 22, - 0, - 0, - 26, - 22, - 30, - 30, - 31, - 23, - 27, - 27, - 31, - 31, - 32, - 28, - 0, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 19, - 25, - 23, - 25, - 0, - 26, - 20, - 22, - 0, - 25, - 0, - 20, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 20, - 0, - 0, - 0, - 0, - 28, - 0, - 17, - 25, - 0, - 24, - 22, - 0, - 26, - 0, - 36, - 27, - 23, - 20, - 16, - 19, - 28, - 29, - 35, - 0, - 29, - 25, - 30, - 22, - 33, - 21, - 22, - 30, - 0, - 32, - 23, - 31, - 0, - 28, - 32, - 28, - 0, - 23, - 0, - 23, - 0, - 0, - 0, - 24, - 0, - 23, - 25, - 0, - 0, - 20, - 24, - 39, - 26, - 22, - 27, - 20, - 0, - 24, - 29, - 0, - 32, - 0, - 0, - 19, - 0, - 27, - 0, - 15, - 37, - 24, - 23, - 20, - 24, - 29, - 0, - 30, - 25, - 25, - 21, - 0, - 0, - 0, - 29, - 22, - 39, - 26, - 25, - 0, - 20, - 40, - 27, - 23, - 20, - 41, - 24, - 29, - 29, - 26, - 22, - 30, - 30, - 0, - 27, - 31, - 28, - 32, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 0, - 0, - 36, - 0, - 22, - 37, - 24, - 24, - 0, - 19, - 38, - 25, - 23, - 25, - 28, - 0, - 26, - 22, - 19, - 0, - 0, - 20, - 28, - 28, - 0, - 0, - 29, - 0, - 21, - 0, - 21, - 23, - 27, - 23, - 24, - 20, - 25, - 23, - 41, - 28, - 24, - 0, - 38, - 25, - 21, - 24, - 30, - 30, - 0, - 19, - 26, - 22, - 25, - 21, - 30, - 27, - 23, - 0, - 20, - 0, - 24, - 41, - 28, - 28, - 29, - 33, - 0, - 30, - 0, - 27, - 27, - 31, - 27, - 32, - 0, - 0, - 0, - 19, - 19, - 27, - 23, - 0, - 24, - 37, - 0, - 20, - 18, - 21, - 0, - 24, - 26, - 26, - 0, - 27, - 23, - 0, - 26, - 33, - 33, - 0, - 22, - 32, - 0, - 18, - 23, - 19, - 19, - 0, - 34, - 15, - 27, - 17, - 26, - 37, - 24, - 20, - 20, - 28, - 0, - 0, - 35, - 21, - 19, - 38, - 25, - 0, - 0, - 18, - 25, - 42, - 29, - 29, - 30, - 18, - 26, - 26, - 0, - 27, - 27, - 28, - 28, - 20, - 0, - 29, - 25, - 0, - 30, - 31, - 0, - 0, - 32, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 21, - 18, - 26, - 22, - 0, - 25, - 0, - 16, - 19, - 40, - 0, - 22, - 0, - 24, - 20, - 17, - 0, - 28, - 28, - 18, - 0, - 0, - 0, - 0, - 0, - 26, - 22, - 0, - 0, - 0, - 27, - 0, - 28, - 0, - 0, - 29, - 0, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 18, - 26, - 22, - 0, - 0, - 25, - 23, - 23, - 0, - 19, - 27, - 23, - 28, - 0, - 26, - 26, - 0, - 15, - 24, - 20, - 28, - 24, - 18, - 29, - 34, - 25, - 26, - 0, - 0, - 29, - 25, - 0, - 0, - 17, - 39, - 26, - 22, - 0, - 30, - 31, - 27, - 23, - 0, - 21, - 27, - 20, - 28, - 24, - 0, - 0, - 29, - 29, - 25, - 0, - 0, - 30, - 21, - 0, - 22, - 26, - 22, - 22, - 25, - 40, - 27, - 27, - 17, - 0, - 33, - 28, - 0, - 0, - 0, - 0, - 39, - 26, - 0, - 0, - 0, - 33, - 0, - 0, - 26, - 27, - 0, - 19, - 27, - 27, - 24, - 26, - 37, - 24, - 20, - 41, - 28, - 0, - 29, - 25, - 25, - 42, - 29, - 0, - 0, - 26, - 18, - 30, - 23, - 0, - 27, - 27, - 31, - 24, - 0, - 41, - 28, - 24, - 29, - 25, - 26, - 30, - 32, - 25, - 21, - 39, - 26, - 26, - 27, - 19, - 20, - 21, - 0, - 19, - 23, - 28, - 0, - 21, - 21, - 0, - 37, - 24, - 28, - 25, - 29, - 0, - 0, - 0, - 0, - 26, - 24, - 0, - 0, - 0, - 0, - 39, - 26, - 22, - 27, - 0, - 16, - 26, - 19, - 0, - 27, - 0, - 16, - 16, - 20, - 16, - 0, - 22, - 18, - 28, - 37, - 24, - 0, - 20, - 41, - 28, - 24, - 25, - 29, - 29, - 0, - 17, - 26, - 30, - 30, - 31, - 23, - 23, - 31, - 24, - 0, - 28, - 23, - 32, - 32, - 33, - 25, - 30, - 34, - 32, - 0, - 0, - 24, - 0, - 38, - 25, - 0, - 39, - 26, - 0, - 0, - 0, - 20, - 15, - 15, - 19, - 0, - 22, - 21, - 22, - 0, - 0, - 26, - 32, - 31, - 0, - 0, - 11, - 0, - 17, - 25, - 25, - 21, - 29, - 39, - 26, - 22, - 25, - 21, - 25, - 0, - 0, - 0, - 27, - 27, - 23, - 22, - 41, - 28, - 24, - 0, - 21, - 35, - 0, - 29, - 29, - 30, - 30, - 30, - 0, - 24, - 32, - 41, - 28, - 32, - 28, - 0, - 40, - 29, - 0, - 33, - 0, - 32, - 32, - 0, - 0, - 0, - 24, - 0, - 0, - 0, - 38, - 25, - 0, - 0, - 26, - 26, - 0, - 21, - 0, - 40, - 27, - 0, - 23, - 23, - 0, - 0, - 21, - 28, - 0, - 23, - 0, - 0, - 25, - 25, - 21, - 0, - 0, - 0, - 0, - 0, - 26, - 22, - 27, - 0, - 27, - 0, - 20, - 28, - 28, - 24, - 34, - 21, - 0, - 29, - 25, - 0, - 30, - 30, - 0, - 23, - 31, - 32, - 0, - 0, - 32, - 0, - 0, - 0, - 23, - 20, - 38, - 26, - 21, - 26, - 0, - 39, - 31, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 20, - 0, - 0, - 23, - 0, - 0, - 28, - 25, - 21, - 26, - 0, - 42, - 29, - 22, - 24, - 26, - 26, - 25, - 40, - 27, - 23, - 28, - 0, - 20, - 34, - 28, - 24, - 20, - 0, - 21, - 21, - 0, - 42, - 25, - 0, - 0, - 22, - 30, - 30, - 0, - 31, - 0, - 0, - 0, - 33, - 0, - 0, - 23, - 23, - 24, - 24, - 28, - 0, - 28, - 38, - 28, - 0, - 0, - 39, - 0, - 33, - 0, - 0, - 0, - 0, - 0, - 18, - 0, - 0, - 0, - 24, - 24, - 16, - 20, - 24, - 29, - 0, - 0, - 25, - 21, - 0, - 29, - 0, - 26, - 22, - 25, - 21, - 34, - 40, - 27, - 27, - 19, - 0, - 41, - 28, - 29, - 29, - 29, - 0, - 0, - 30, - 31, - 32, - 0, - 33, - 0, - 0, - 0, - 27, - 23, - 0, - 26, - 20, - 28, - 22, - 28, - 0, - 38, - 0, - 0, - 20, - 0, - 33, - 33, - 0, - 32, - 0, - 0, - 0, - 0, - 0, - 21, - 0, - 19, - 19, - 0, - 19, - 27, - 23, - 22, - 24, - 20, - 28, - 24, - 29, - 27, - 27, - 28, - 38, - 21, - 29, - 25, - 30, - 0, - 0, - 0, - 0, - 26, - 22, - 27, - 0, - 30, - 26, - 0, - 34, - 27, - 27, - 31, - 28, - 0, - 28, - 28, - 25, - 29, - 29, - 0, - 0, - 30, - 0, - 0, - 34, - 0, - 0, - 24, - 0, - 0, - 22, - 20, - 0, - 22, - 26, - 22, - 0, - 19, - 27, - 27, - 28, - 0, - 27, - 37, - 0, - 34, - 0, - 25, - 22, - 19, - 27, - 0, - 22, - 24, - 24, - 0, - 41, - 28, - 24, - 18, - 39, - 29, - 21, - 29, - 29, - 39, - 26, - 22, - 43, - 30, - 22, - 0, - 27, - 23, - 0, - 31, - 0, - 0, - 0, - 0, - 41, - 28, - 25, - 42, - 25, - 39, - 30, - 30, - 0, - 0, - 0, - 39, - 0, - 0, - 27, - 23, - 0, - 28, - 0, - 28, - 28, - 38, - 25, - 31, - 0, - 22, - 26, - 22, - 0, - 0, - 27, - 23, - 23, - 16, - 41, - 28, - 0, - 0, - 29, - 25, - 22, - 42, - 29, - 25, - 0, - 0, - 22, - 21, - 0, - 18, - 0, - 30, - 26, - 0, - 18, - 0, - 27, - 31, - 24, - 0, - 29, - 38, - 25, - 0, - 26, - 37, - 24, - 0, - 26, - 30, - 0, - 0, - 0, - 39, - 26, - 26, - 40, - 18, - 0, - 22, - 35, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 0, - 39, - 26, - 26, - 0, - 0, - 0, - 25, - 27, - 23, - 26, - 24, - 16, - 28, - 28, - 29, - 0, - 23, - 29, - 42, - 29, - 25, - 0, - 30, - 30, - 31, - 23, - 0, - 0, - 0, - 31, - 27, - 24, - 0, - 32, - 32, - 25, - 0, - 34, - 33, - 39, - 19, - 0, - 24, - 0, - 27, - 41, - 33, - 0, - 32, - 0, - 0, - 0, - 0, - 25, - 0, - 29, - 25, - 0, - 0, - 39, - 26, - 22, - 0, - 40, - 27, - 27, - 23, - 41, - 28, - 28, - 27, - 21, - 42, - 29, - 35, - 22, - 30, - 30, - 31, - 32, - 28, - 29, - 0, - 0, - 0, - 25, - 0, - 0, - 18, - 26, - 27, - 0, - 30, - 21, - 0, - 27, - 0, - 32, - 0, - 0, - 0, - 29, - 0, - 39, - 22, - 30, - 0, - 27, - 27, - 21, - 27, - 21, - 35, - 25, - 29, - 29, - 30, - 26, - 31, - 31, - 0, - 0, - 0, - 32, - 39, - 0, - 0, - 34, - 23, - 30, - 0, - 0, - 0, - 20, - 21, - 0, - 0, - 25, - 21, - 29, - 25, - 0, - 26, - 22, - 26, - 31, - 27, - 28, - 20, - 21, - 35, - 0, - 0, - 42, - 29, - 25, - 22, - 22, - 22, - 30, - 30, - 0, - 0, - 31, - 33, - 0, - 33, - 0, - 0, - 0, - 0, - 23, - 0, - 0, - 38, - 0, - 0, - 0, - 0, - 0, - 28, - 28, - 21, - 29, - 25, - 39, - 26, - 22, - 27, - 25, - 21, - 0, - 30, - 19, - 27, - 23, - 44, - 41, - 28, - 24, - 42, - 29, - 29, - 25, - 0, - 0, - 30, - 31, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 23, - 0, - 0, - 24, - 0, - 24, - 18, - 0, - 20, - 0, - 0, - 0, - 0, - 0, - 35, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 18, - 0, - 0, - 20, - 28, - 24, - 0, - 24, - 23, - 0, - 25, - 19, - 42, - 29, - 30, - 0, - 22, - 22, - 30, - 26, - 30, - 0, - 0, - 0, - 27, - 0, - 31, - 28, - 20, - 0, - 29, - 0, - 0, - 26, - 27, - 28, - 0, - 32, - 34, - 0, - 0, - 0, - 26, - 0, - 0, - 27, - 27, - 23, - 0, - 0, - 21, - 0, - 22, - 23, - 0, - 25, - 39, - 0, - 0, - 0, - 0, - 27, - 33, - 0, - 0, - 0, - 0, - 21, - 0, - 0, - 0, - 0, - 23, - 28, - 0, - 0, - 0, - 0, - 0, - 18, - 23, - 28, - 29, - 29, - 0, - 0, - 29, - 29, - 26, - 22, - 20, - 0, - 0, - 29, - 25, - 0, - 30, - 23, - 30, - 30, - 31, - 0, - 0, - 22, - 0, - 19, - 24, - 23, - 31, - 0, - 0, - 0, - 38, - 39, - 26, - 27, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 27, - 28, - 0, - 28, - 0, - 28, - 24, - 0, - 33, - 34, - 0, - 0, - 0, - 0, - 0, - 40, - 27, - 0, - 0, - 41, - 24, - 0, - 18, - 0, - 0, - 42, - 29, - 0, - 22, - 43, - 30, - 26, - 18, - 0, - 44, - 0, - 0, - 0, - 0, - 32, - 33, - 29, - 26, - 30, - 30, - 35, - 31, - 0, - 0, - 0, - 0, - 26, - 27, - 27, - 0, - 26, - 17, - 0, - 0, - 0, - 0, - 0, - 28, - 0, - 42, - 29, - 0, - 0, - 0, - 0, - 33, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 0, - 27, - 23, - 24, - 0, - 0, - 30, - 0, - 0, - 28, - 24, - 29, - 0, - 29, - 28, - 22, - 18, - 41, - 30, - 26, - 31, - 23, - 24, - 28, - 33, - 34, - 34, - 0, - 0, - 0, - 0, - 20, - 0, - 0, - 0, - 26, - 0, - 23, - 0, - 0, - 33, - 33, - 0, - 0, - 33, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 19, - 0, - 26, - 0, - 0, - 27, - 27, - 28, - 0, - 24, - 29, - 0, - 29, - 29, - 30, - 22, - 36, - 26, - 30, - 22, - 0, - 31, - 31, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 15, - 25, - 21, - 0, - 0, - 39, - 0, - 0, - 0, - 35, - 35, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 25, - 25, - 24, - 20, - 0, - 26, - 27, - 43, - 30, - 0, - 30, - 0, - 0, - 27, - 23, - 0, - 31, - 27, - 22, - 0, - 28, - 24, - 27, - 42, - 29, - 28, - 0, - 22, - 0, - 30, - 30, - 27, - 23, - 31, - 0, - 0, - 32, - 0, - 36, - 37, - 34, - 0, - 35, - 35, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 0, - 24, - 27, - 0, - 0, - 0, - 0, - 29, - 0, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 21, - 24, - 0, - 27, - 0, - 0, - 0, - 0, - 0, - 30, - 29, - 0, - 26, - 0, - 21, - 29, - 0, - 0, - 24, - 26, - 22, - 25, - 0, - 43, - 30, - 26, - 31, - 0, - 40, - 27, - 23, - 23, - 44, - 31, - 0, - 20, - 28, - 27, - 34, - 21, - 24, - 22, - 0, - 0, - 42, - 29, - 0, - 22, - 43, - 30, - 26, - 0, - 31, - 31, - 28, - 0, - 0, - 40, - 33, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 0, - 22, - 0, - 25, - 0, - 0, - 0, - 0, - 20, - 27, - 39, - 0, - 0, - 0, - 0, - 16, - 28, - 0, - 25, - 21, - 25, - 18, - 24, - 26, - 22, - 0, - 43, - 30, - 0, - 27, - 44, - 31, - 41, - 28, - 32, - 21, - 29, - 25, - 31, - 0, - 28, - 28, - 33, - 0, - 0, - 0, - 0, - 41, - 28, - 0, - 0, - 29, - 29, - 25, - 0, - 0, - 27, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 20, - 28, - 29, - 29, - 23, - 32, - 40, - 0, - 29, - 29, - 22, - 0, - 43, - 30, - 26, - 44, - 31, - 27, - 0, - 23, - 20, - 24, - 28, - 0, - 27, - 0, - 28, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 28, - 28, - 27, - 0, - 29, - 29, - 29, - 0, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 20, - 19, - 41, - 28, - 27, - 22, - 0, - 42, - 29, - 22, - 0, - 0, - 0, - 0, - 43, - 30, - 30, - 31, - 31, - 27, - 27, - 27, - 45, - 38, - 0, - 34, - 35, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 30, - 0, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 27, - 0, - 20, - 41, - 28, - 29, - 42, - 0, - 43, - 43, - 30, - 23, - 0, - 44, - 31, - 0, - 37, - 32, - 0, - 0, - 0, - 39, - 26, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 24, - 0, - 27, - 0, - 0, - 29, - 0, - 23, - 36, - 25, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 19, - 0, - 41, - 28, - 0, - 29, - 42, - 29, - 28, - 0, - 22, - 43, - 29, - 23, - 0, - 27, - 24, - 0, - 0, - 41, - 32, - 33, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 0, - 0, - 23, - 0, - 36, - 0, - 0, - 38, - 0, - 0, - 0, - 0, - 30, - 0, - 27, - 27, - 19, - 23, - 31, - 32, - 41, - 28, - 0, - 29, - 29, - 30, - 0, - 0, - 30, - 29, - 23, - 0, - 0, - 0, - 35, - 36, - 0, - 0, - 22, - 28, - 0, - 22, - 28, - 0, - 37, - 0, - 29, - 0, - 0, - 19, - 0, - 0, - 0, - 0, - 0, - 30, - 0, - 0, - 30, - 0, - 0, - 27, - 23, - 31, - 27, - 41, - 28, - 45, - 32, - 25, - 28, - 22, - 23, - 0, - 0, - 30, - 24, - 23, - 31, - 0, - 29, - 0, - 34, - 0, - 35, - 0, - 0, - 0, - 25, - 29, - 0, - 25, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 25, - 0, - 29, - 0, - 21, - 0, - 34, - 43, - 30, - 28, - 31, - 27, - 41, - 0, - 28, - 33, - 29, - 33, - 29, - 28, - 28, - 33, - 37, - 30, - 0, - 31, - 0, - 0, - 28, - 0, - 0, - 0, - 29, - 0, - 0, - 0, - 0, - 34, - 29, - 0, - 0, - 0, - 26, - 29, - 30, - 24, - 0, - 43, - 30, - 0, - 31, - 20, - 45, - 46, - 33, - 27, - 0, - 28, - 28, - 0, - 0, - 37, - 0, - 0, - 24, - 28, - 0, - 42, - 27, - 27, - 27, - 0, - 0, - 0, - 0, - 0, - 29, - 25, - 0, - 0, - 43, - 30, - 31, - 0, - 44, - 31, - 27, - 32, - 32, - 25, - 33, - 0, - 39, - 28, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 28, - 27, - 35, - 0, - 28, - 0, - 29, - 29, - 25, - 30, - 30, - 0, - 31, - 32, - 0, - 38, - 0, - 0, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 32, - 42, - 29, - 25, - 0, - 0, - 43, - 0, - 23, - 23, - 44, - 32, - 30, - 24, - 29, - 0, - 0, - 32, - 29, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 25, - 0, - 0, - 37, - 0, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 31, - 27, - 28, - 24, - 0, - 30, - 0, - 23, - 30, - 29, - 25, - 30, - 33, - 0, - 23, - 0, - 28, - 24, - 0, - 0, - 0, - 30, - 23, - 0, - 41, - 0, - 33, - 30, - 24, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 24, - 0, - 30, - 0, - 0, - 27, - 0, - 0, - 20, - 0, - 27, - 23, - 27, - 32, - 28, - 22, - 28, - 30, - 0, - 30, - 0, - 0, - 0, - 0, - 26, - 31, - 19, - 0, - 0, - 0, - 44, - 31, - 27, - 32, - 24, - 32, - 0, - 0, - 32, - 33, - 32, - 0, - 0, - 18, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 16, - 42, - 29, - 0, - 0, - 43, - 30, - 0, - 23, - 44, - 0, - 0, - 0, - 38, - 0, - 32, - 37, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 0, - 29, - 25, - 0, - 18, - 18, - 22, - 43, - 26, - 0, - 44, - 31, - 0, - 24, - 0, - 24, - 32, - 0, - 33, - 26, - 0, - 0, - 32, - 43, - 0, - 0, - 0, - 0, - 0, - 31, - 25, - 42, - 25, - 0, - 0, - 0, - 0, - 0, - 30, - 0, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 32, - 0, - 27, - 29, - 0, - 0, - 0, - 0, - 43, - 30, - 31, - 0, - 37, - 24, - 20, - 45, - 0, - 0, - 0, - 0, - 20, - 30, - 30, - 0, - 0, - 0, - 35, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 30, - 26, - 0, - 0, - 23, - 44, - 24, - 45, - 26, - 34, - 0, - 0, - 45, - 0, - 20, - 0, - 0, - 0, - 22, - 0, - 0, - 28, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 44, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 42, - 0, - 29, - 30, - 0, - 23, - 37, - 24, - 0, - 29, - 30, - 0, - 38, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 21, - 25, - 0, - 0, - 0, - 40, - 30, - 0, - 0, - 22, - 0, - 30, - 0, - 0, - 31, - 31, - 0, - 0, - 24, - 32, - 28, - 22, - 0, - 30, - 23, - 23, - 0, - 0, - 48, - 29, - 34, - 33, - 35, - 30, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 32, - 34, - 0, - 29, - 0, - 0, - 0, - 0, - 0, - 0, - 30, - 23, - 31, - 31, - 32, - 0, - 21, - 32, - 33, - 0, - 0, - 33, - 33, - 30, - 30, - 26, - 32, - 0, - 0, - 43, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 23, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 33, - 29, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 0, - 21, - 0, - 22, - 30, - 31, - 0, - 44, - 27, - 32, - 0, - 24, - 32, - 33, - 0, - 29, - 30, - 29, - 41, - 28, - 32, - 0, - 0, - 37, - 43, - 43, - 36, - 0, - 0, - 0, - 0, - 20, - 20, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 0, - 0, - 0, - 24, - 33, - 29, - 30, - 0, - 0, - 0, - 26, - 30, - 30, - 0, - 0, - 0, - 27, - 44, - 31, - 27, - 0, - 32, - 28, - 33, - 0, - 33, - 35, - 0, - 27, - 35, - 32, - 0, - 37, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 0, - 0, - 0, - 30, - 0, - 0, - 30, - 22, - 0, - 31, - 37, - 24, - 0, - 32, - 33, - 25, - 34, - 26, - 0, - 27, - 0, - 32, - 0, - 0, - 37, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 29, - 0, - 0, - 0, - 33, - 0, - 30, - 22, - 41, - 24, - 0, - 0, - 29, - 34, - 0, - 0, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 28, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 32, - 33, - 0, - 30, - 34, - 0, - 24, - 0, - 0, - 0, - 37, - 0, - 0, - 0, - 32, - 0, - 0, - 23, - 23, - 0, - 0, - 44, - 31, - 0, - 0, - 0, - 20, - 0, - 0, - 0, - 29, - 0, - 31, - 0, - 24, - 0, - 32, - 0, - 33, - 34, - 0, - 0, - 38, - 0, - 37, - 24, - 0, - 27, - 0, - 0, - 0, - 43, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 35, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 24, - 32, - 28, - 0, - 0, - 0, - 26, - 0, - 33, - 35, - 35, - 0, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 32, - 34, - 0, - 0, - 0, - 0, - 39, - 0, - 22, - 0, - 30, - 0, - 44, - 27, - 45, - 0, - 25, - 33, - 33, - 0, - 32, - 43, - 30, - 0, - 38, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 0, - 0, - 0, - 34, - 30, - 0, - 44, - 31, - 20, - 0, - 0, - 0, - 0, - 0, - 0, - 32, - 0, - 38, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 30, - 30, - 0, - 0, - 44, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 46, - 39, - 34, - 0, - 33, - 48, - 35, - 28, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 22, - 43, - 32, - 24, - 28, - 0, - 0, - 25, - 25, - 0, - 0, - 0, - 0, - 32, - 36, - 33, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 46, - 33, - 31, - 31, - 37, - 24, - 20, - 0, - 36, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 23, - 0, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 21, - 33, - 34, - 30, - 30, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 0, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 23, - 23, - 0, - 32, - 42, - 33, - 34, - 0, - 24, - 0, - 0, - 0, - 0, - 0, - 0, - 23, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 27, - 32, - 28, - 33, - 0, - 0, - 0, - 24, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 23, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 31, - 32, - 26, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 41, - 38, - 34, - 0, - 47, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 0, - 38, - 25, - 21, - 0, - 0, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 26, - 0, - 0, - 0, - 0, - 0, - 32, - 0, - 0, - 0, - 0, - 22, - 0, - 38, - 28, - 32, - 0, - 0, - 0, - 0, - 33, - 24, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 34, - 36, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 24, - 0, - 0, - 32, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 32, - 21, - 28, - 0, - 33, - 0, - 0, - 34, - 39, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 32, - 22, - 0, - 0, - 0, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 44, - 32, - 0, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 47, - 47, - 0, - 0, - 0, - 0, - 0, - 16, - 0, - 0, - 0, - 22, - 0, - 0, - 0, - 28, - 0, - 0, - 26, - 44, - 0, - 48, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 23, - 34, - 0, - 0, - 0, - 38, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 0, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 38, - 0, - 0, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 37, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 33, - 0, - 26, - 0, - 26, - 34, - 0, - 40, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 22, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 33, - 29, - 0, - 27, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 0, - 22, - 34, - 0, - 42, - 0, - 37, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 0, - 32, - 0, - 33, - 0, - 0, - 47, - 0, - 0, - 0, - 0, - 39, - 0, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 20, - 22, - 33, - 0, - 37, - 0, - 0, - 0, - 0, - 37, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 0, - 0, - 40, - 49, - 49, - 45, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 33, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 32, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 38, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 0, - 0, - 34, - 32, - 40, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 25, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 50, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 0, - 39, - 0, - 0, - 0, - 32, - 0, - 40, - 39, - 41, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 38, - 0, - 37, - 49, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 24, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 0, - 0, - 51, - 51, - 0, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 44, - 0, - 0, - 0, - 0, - 30, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 55, - 0, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 31, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 33, - 27, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 0, - 41, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 0, - 39, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 43, - 0, - 0, - 45, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 0, - 0, - 0, - 42, - 0, - 51, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 27, - 0, - 0, - 0, - 0, - 0, - 49, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 0, - 39, - 36, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 49, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 23, - 0, - 24, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 49, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 52, - 0, - 51, - 0, - 52, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 38, - 46, - 0, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 54, - 0, - 43, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 35, - 0, - 0, - 43, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 54, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 52, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 29, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 52, - 48, - 43, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 48, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 0, - 0, - 42, - 47, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 49, - 0, - 0, - 0, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 49, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 52, - 44, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 40, - 0, - 0, - 52, - 52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 49, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 49, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 54, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 0, - 54, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 57, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 0, - 52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 54, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 37, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 47, - 49, - 0, - 0, - 50, - 54, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 47, - 52, - 45, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 48, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 39, - 59, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 59, - 0, - 0, - 0, - 0, - 39, - 0, - 0, - 0, - 0, - 44, - 0, - 51, - 0, - 0, - 55, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 42, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 52, - 0, - 46, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 49, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 55, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 59, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 0, - 45, - 0, - 0, - 56, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 52, - 51, - 0, - 61, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 50, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 49, - 0, - 44, - 0, - 61, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 48, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 47, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 55, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 44, - 0, - 57, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 53, - 53, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 43, - 0, - 0, - 54, - 53, - 59, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 47, - 0, - 0, - 0, - 49, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 41, - 0, - 62, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 51, - 61, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 52, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 36, - 0, - 0, - 0 - ], - "type": "histogram", - "marker": { - "color": "rgba(31,119,180,1)", - "line": { - "color": "rgba(31,119,180,1)" - } - }, - "error_y": { - "color": "rgba(31,119,180,1)" - }, - "error_x": { - "color": "rgba(31,119,180,1)" - }, - "xaxis": "x", - "yaxis": "y", - "frame": null - } - ], - "highlight": { - "on": "plotly_click", - "persistent": false, - "dynamic": false, - "selectize": false, - "opacityDim": 0.2, - "selected": { - "opacity": 1 - }, - "debounce": 0 - }, - "shinyEvents": [ - "plotly_hover", - "plotly_click", - "plotly_selected", - "plotly_relayout", - "plotly_brushed", - "plotly_brushing", - "plotly_clickannotation", - "plotly_doubleclick", - "plotly_deselect", - "plotly_afterplot", - "plotly_sunburstclick" - ], - "base_url": "https://plot.ly" - }, - "evals": [ - - ], - "jsHooks": [ - - ], - "deps": [ - { - "name": "setprototypeof", - "version": "0.1", - "src": { - "href": "setprototypeof-0.1" - }, - "meta": null, - "script": "setprototypeof.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": false - }, - { - "name": "typedarray", - "version": "0.1", - "src": { - "href": "typedarray-0.1" - }, - "meta": null, - "script": "typedarray.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": false - }, - { - "name": "jquery", - "version": "3.5.1", - "src": { - "href": "jquery-3.5.1" - }, - "meta": null, - "script": "jquery.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "crosstalk", - "version": "1.1.1", - "src": { - "href": "crosstalk-1.1.1" - }, - "meta": null, - "script": "js/crosstalk.min.js", - "stylesheet": "css/crosstalk.css", - "head": null, - "attachment": null, - "all_files": true - }, - { - "name": "plotly-htmlwidgets-css", - "version": "1.57.1", - "src": { - "href": "plotly-htmlwidgets-css-1.57.1" - }, - "meta": null, - "script": null, - "stylesheet": "plotly-htmlwidgets.css", - "head": null, - "attachment": null, - "all_files": false - }, - { - "name": "plotly-main", - "version": "1.57.1", - "src": { - "href": "plotly-main-1.57.1" - }, - "meta": null, - "script": "plotly-latest.min.js", - "stylesheet": null, - "head": null, - "attachment": null, - "all_files": false - } - ] - } - } -} diff --git a/tests/testthat/test_full_pipeline_basic.R b/tests/testthat/test_full_pipeline_basic.R index 49bfeef..577b5c0 100644 --- a/tests/testthat/test_full_pipeline_basic.R +++ b/tests/testthat/test_full_pipeline_basic.R @@ -44,9 +44,6 @@ test_that("Basic Tests", { "EW0163_sample", "EW0165_sample", "EW0167_sample", "EW0169_sample")) - app$click("add_group") - app$expect_values(output = "group_table", screenshot_args = FALSE) - message("Testing preprocess tab...") ### Preprocessing app$click("goto_preprocess_main") @@ -79,11 +76,7 @@ test_that("Basic Tests", { app$click("preprocess_dismiss") app$wait_for_value(output = "preprocess_hist") - app$expect_values( - output = c("preprocess_hist", "numeric_summary", "categorical_summary"), - screenshot_args = FALSE - ) - + uploaded_data <- app$get_value(export = "uploaded_data_processed") expected_cols = c('Mass', 'C', 'H', 'O', 'N', 'C13', 'S', 'P', 'Error', 'NeutralMass', 'MolForm', 'OtoC_ratio', 'HtoC_ratio', From 0d8e02a20a2f98212a0ab5e232fcedfd33bfe151 Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Mon, 17 Oct 2022 16:43:24 -0700 Subject: [PATCH 11/12] change preprocess calc_vars to a list defined in global.R instead of a csv --- Observers/preprocess_observers.R | 36 +++++++++++++-------------- global.R | 37 +++++++++++++++++++++++++++- helper_functions/summaryPreprocess.R | 8 +++--- 3 files changed, 58 insertions(+), 23 deletions(-) diff --git a/Observers/preprocess_observers.R b/Observers/preprocess_observers.R index d407f9d..5e3dcbe 100644 --- a/Observers/preprocess_observers.R +++ b/Observers/preprocess_observers.R @@ -53,7 +53,6 @@ observeEvent(input$preprocess_click, { for(i in 1:length(valence_list)){ V <- valence_list[[i]] for(name in names(V)){ - print(V[[name]]) valence_df[i,name] <- V[[name]] } } @@ -104,35 +103,30 @@ observeEvent(input$preprocess_click, { # Creates two reactive variables for continuous and categorical variables which are used to display separate tables # Note: dependent on preprocess click and the user-specified calculations observeEvent(input$preprocess_click, { - # Error handling: revals$uploaded_data must have a non-NULL Kendrick Mass column name - #req(!is.null(attr(revals$uploaded_data, 'cnames')$kmass_cname)) req(input$tests) - # Get csv file of all possible calculation column names - possible_calc_cnames <- read_csv("calculation_variables.csv") %>% as.data.frame(stringsAsFactors = FALSE) - # Get column names from revals$uploaded_data's e_meta actual_cnames <- colnames(revals$uploaded_data$e_meta) # Find all columns with names that match names for calculated columns - v_index <- which(possible_calc_cnames[,1] %in% actual_cnames) + v_index <- which(names(PREPROCESS_CALC_VARS) %in% actual_cnames) # Save calculation column names from above and their display names - intersect <- possible_calc_cnames[v_index,] + present_vars <- PREPROCESS_CALC_VARS[v_index] # get numeric columns numeric_cols <- revals$uploaded_data$e_meta %>% - dplyr::select(which(sapply(.[intersect[,1]], is.numeric))) %>% + dplyr::select(which(sapply(.[,names(present_vars)], is.numeric))) %>% names() # get categorical columns categorical_cols <- revals$uploaded_data$e_meta %>% - dplyr::select(which(!sapply(.[intersect[,1]], is.numeric))) %>% + dplyr::select(which(!sapply(.[names(present_vars)], is.numeric))) %>% names() #set reactive variables for observers - revals$numeric_cols <- intersect %>% filter(ColumnName %in% numeric_cols) - revals$categorical_cols <- intersect %>% filter(ColumnName %in% categorical_cols) + revals$numeric_cols <- present_vars[names(present_vars) %in% numeric_cols] + revals$categorical_cols <- present_vars[names(present_vars) %in% categorical_cols] }) @@ -160,18 +154,24 @@ observeEvent(input$preprocess_dismiss,{ req(c(revals$numeric_cols, revals$categorical_cols)) - if(isTRUE(nrow(revals$numeric_cols) > 0)){ - columns <- summaryPreprocess(isolate(revals$uploaded_data), revals$numeric_cols) %>% colnames() + if(isTRUE(length(revals$numeric_cols) > 0)){ + tmp_num_table <- summaryPreprocess(isolate(revals$uploaded_data), revals$numeric_cols) - revals$preprocess_tables$numeric <- summaryPreprocess(isolate(revals$uploaded_data), revals$numeric_cols) %>% + revals$preprocess_tables$numeric <- tmp_num_table %>% datatable(options = list(dom = "t", pageLength = nrow(.))) %>% - formatRound(columns, digits = 2) + formatRound(colnames(tmp_num_table), digits = 2) + + # __SHINYTEST__ + exportTestValues(numeric_table = tmp_num_table) } - if(isTRUE(nrow(revals$categorical_cols) > 0)){ + if(isTRUE(length(revals$categorical_cols) > 0)){ revals$preprocess_tables$categorical <- summaryPreprocess(revals$uploaded_data, revals$categorical_cols, categorical = TRUE) + + # __SHINYTEST__ + exportTestValues(categorical_table = revals$preprocess_tables$categorical) } - + }) # For numeric columns: diff --git a/global.R b/global.R index 8fb7bfe..ff0e260 100644 --- a/global.R +++ b/global.R @@ -35,7 +35,11 @@ kendrick_opts_info <- 'The base compound(s) used to calculate the Kendrick Mass. dt_checkmark <- '' dt_minus <- '' -ttip_text = list("plot_save"="Save the last created plot", "plot_review"="Review saved plots", "page_help"="How do I use this page?") +ttip_text = list( + "plot_save"="Save the last created plot", + "plot_review"="Review saved plots", + "page_help"="How do I use this page?" +) #------ Download Example Data ---------# example_edata <- read_csv('Data/example12T_edata.csv') %>% as.data.frame(stringsAsFactors = FALSE) @@ -45,6 +49,37 @@ calc_vars <- read_csv('calculation_variables.csv') %>% as.data.frame(stringsAsFa # determines when 'large data' options are triggered max_cells <- 2000000 +PREPROCESS_CALC_VARS <- list( + "ColumnName" = "DisplayName", + "OtoC_ratio" = "O:C Ratio", + "HtoC_ratio" = "H:C Ratio", + "NtoC_ratio" = "N:C Ratio", + "PtoC_ratio" = "P:C Ratio", + "NtoP_ratio" = "N:P Ratio", + "NOSC" = "NOSC", + "GFE" = "Gibbs Free Energy", + "AI" = "Aromaticity", + "AI_Mod" = "Modified Aromaticity", + "DBE" = "DBE", + "DBE_O" = "DBE - O", + "DBE_AI" = "DBE - AI", + "ElComposition" = "Elemental Composition", + "bs1_class" = "Compound Classes Using bs1", + "bs2_class" = "Compound Classes Using bs2", + "bs3_class" = "Compound Classes Using bs3" +) + +BASE_COMPS <- c("CH2", "CO2", "H2", "H2O", "CHO") + +.extra_kmass <- lapply(BASE_COMPS, function(x) sprintf("Kendrick Mass (Base %s)", x)) +names(.extra_kmass) <- paste0("kmass.", BASE_COMPS) + +.extra_kdefect <- lapply(BASE_COMPS, function(x) sprintf("Kendrick Defect (Base %s)", x)) +names(.extra_kdefect) <- paste0("kdefect.", BASE_COMPS) + +PREPROCESS_CALC_VARS <- c(PREPROCESS_CALC_VARS, .extra_kmass, .extra_kdefect) + +# Info text for things such as warnings info_text = list( COREMS_UPLOAD_ERROR = "There was an error retrieving your Core-MS files: %s", COREMS_UPLOAD_NOSAMPS = "No files found in the cloud location specified by 'corems-prefix' in the URL.", diff --git a/helper_functions/summaryPreprocess.R b/helper_functions/summaryPreprocess.R index 7794cbe..f67d0fd 100644 --- a/helper_functions/summaryPreprocess.R +++ b/helper_functions/summaryPreprocess.R @@ -17,7 +17,7 @@ summaryPreprocess <- function(ftmsRobject, testsSelected, categorical = FALSE, s if(categorical){ #Apply to each column name - lapply(testsSelected[,1], function(colname){ + lapply(names(testsSelected), function(colname){ # split any values in the column that have 2 categories split_col <- strsplit(ftmsRobject$e_meta[,colname], split_chars) %>% unlist() @@ -34,7 +34,7 @@ summaryPreprocess <- function(ftmsRobject, testsSelected, categorical = FALSE, s {`colnames<-`(., cats)} df[1,] <- tab_na # store counts - rownames(df) <- testsSelected %>% filter(ColumnName == colname) %>% pluck(2) # set rowname for display purposes + rownames(df) <- testsSelected[[colname]] # set rowname for display purposes return(df) }) @@ -44,7 +44,7 @@ summaryPreprocess <- function(ftmsRobject, testsSelected, categorical = FALSE, s else{ # Set up rownames for use in table - rowNames <- testsSelected[,2] + rowNames <- testsSelected rowNum <- length(rowNames) # Set up data frame (finally!) @@ -56,7 +56,7 @@ summaryPreprocess <- function(ftmsRobject, testsSelected, categorical = FALSE, s row.names(summaryTable) <- rowNames # Call summary and extract info - allCols <- ftmsRobject$e_meta %>% dplyr::select(testsSelected[,1]) + allCols <- ftmsRobject$e_meta %>% dplyr::select(names(testsSelected)) # NOT YET WORKING: Sapply the summary # summaryTable <- t(sapply(allCols, function(x) unname(summary(x)[c('Min.', 'Mean', 'Median', 'Max.')]))) From 067229fa1abc7c3f57652a6e7746adcd1ff1989a Mon Sep 17 00:00:00 2001 From: Daniel Claborne Date: Tue, 18 Oct 2022 10:29:32 -0700 Subject: [PATCH 12/12] test output table contents on preprocess tab --- README.md | 3 ++ tests/testthat/tab_navigation/basic_groups.R | 31 +++++++++++++++++++ .../testthat/tab_navigation/upload_example.R | 4 +-- tests/testthat/test_full_pipeline_basic.R | 31 +++++-------------- 4 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 tests/testthat/tab_navigation/basic_groups.R diff --git a/README.md b/README.md index 3e8fcde..5a7e2c7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # FREDA + +[![tests](https://github.com/EMSL-computing/FREDA/actions/workflows/test-app.yaml/badge.svg)](https://github.com/EMSL-computing/FREDA/actions/workflows/test-app.yaml) + *** diff --git a/tests/testthat/tab_navigation/basic_groups.R b/tests/testthat/tab_navigation/basic_groups.R new file mode 100644 index 0000000..839ab59 --- /dev/null +++ b/tests/testthat/tab_navigation/basic_groups.R @@ -0,0 +1,31 @@ +#'Create two groups using the example data. +#' +groups_basic <- function(app) { + app$click("goto_groups") + app$set_inputs(group_name = "G1") + app$set_inputs(group_samples = "EM0011_sample") + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", + "EM0067_sample")) + app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", + "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", + "EM0067_sample", "EM0069_sample")) + app$click("add_group") + + app$set_inputs(group_name = "G2") + app$click("add_group") + + return(app) +} \ No newline at end of file diff --git a/tests/testthat/tab_navigation/upload_example.R b/tests/testthat/tab_navigation/upload_example.R index f7ec583..e96e035 100644 --- a/tests/testthat/tab_navigation/upload_example.R +++ b/tests/testthat/tab_navigation/upload_example.R @@ -1,3 +1,5 @@ +#'Upload example data and fill in basic information on the uplaods tab +#' upload_basic <- function(app) { app$set_inputs(filter_sidebar = c("samplefilt_collapse", "massfilt_collapse", "molfilt_collapse", "formfilt_collapse")) @@ -24,8 +26,6 @@ upload_basic <- function(app) { app$set_inputs(isotope_yn = "2") app$click("upload_click") - # app$expect_values() - btn_value = app$wait_for_value(input = "upload_dismiss") return(app) diff --git a/tests/testthat/test_full_pipeline_basic.R b/tests/testthat/test_full_pipeline_basic.R index 577b5c0..accf63f 100644 --- a/tests/testthat/test_full_pipeline_basic.R +++ b/tests/testthat/test_full_pipeline_basic.R @@ -8,31 +8,8 @@ test_that("Basic Tests", { ### Make Groups message("Testing groups tab...") - app$click("goto_groups") - app$set_inputs(group_name = "G1") - app$set_inputs(group_samples = "EM0011_sample") - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample", "EM0061_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", - "EM0067_sample")) - app$set_inputs(group_samples = c("EM0011_sample", "EM0013_sample", "EM0015_sample", - "EM0017_sample", "EM0019_sample", "EM0061_sample", "EM0063_sample", "EM0065_sample", - "EM0067_sample", "EM0069_sample")) - app$click("add_group") - app$set_inputs(group_name = "G2") - app$click("add_group") + app <- groups_basic(app) groups_list <- app$get_value(export = "groups_list") expect_setequal(groups_list$G1, c("EM0011_sample", "EM0013_sample", "EM0015_sample", @@ -89,6 +66,12 @@ test_that("Basic Tests", { expect_setequal(colnames(uploaded_data$e_meta), expected_cols) + numtable <- app$get_value(export = "numeric_table") + cattable <- app$get_value(export = "categorical_table") + + expect_equal(digest::digest(numtable), "1d8dc9e8fe23e5579e8fda9d60fb92ca") + expect_equal(digest::digest(cattable), "78029809dbe2eeafe986ec9d68efb3f5") + message("Testing filter tab...") ### Filter app$set_inputs(top_page = "Filter")