From e3a7b12a793ef6af2d86cd70d316d418d760b69d Mon Sep 17 00:00:00 2001 From: Felix Martin Date: Sun, 24 Nov 2019 13:28:23 -0500 Subject: [PATCH] Finished week 1. --- .gitignore | 2 + anyint/_coursera | 3 + anyint/handout.pdf | Bin 0 -> 86565 bytes anyint/solver.py | 10 + anyint/submit.py | 456 ++ discrete_optimization.sublime-project | 8 + knapsack/Solver.java | 91 + knapsack/_coursera | 8 + knapsack/data/ks_10000_0 | 10001 ++++++++++++++++++++++++ knapsack/data/ks_1000_0 | 1001 +++ knapsack/data/ks_100_0 | 101 + knapsack/data/ks_100_1 | 101 + knapsack/data/ks_100_2 | 101 + knapsack/data/ks_106_0 | 107 + knapsack/data/ks_19_0 | 20 + knapsack/data/ks_200_0 | 201 + knapsack/data/ks_200_1 | 201 + knapsack/data/ks_300_0 | 301 + knapsack/data/ks_30_0 | 31 + knapsack/data/ks_400_0 | 401 + knapsack/data/ks_40_0 | 41 + knapsack/data/ks_45_0 | 46 + knapsack/data/ks_4_0 | 5 + knapsack/data/ks_500_0 | 501 ++ knapsack/data/ks_50_0 | 51 + knapsack/data/ks_50_1 | 51 + knapsack/data/ks_60_0 | 61 + knapsack/data/ks_82_0 | 83 + knapsack/data/ks_lecture_dp_1 | 4 + knapsack/data/ks_lecture_dp_2 | 6 + knapsack/handout.pdf | Bin 0 -> 140485 bytes knapsack/solver.py | 51 + knapsack/solverJava.py | 37 + knapsack/submit.py | 456 ++ 34 files changed, 14538 insertions(+) create mode 100644 .gitignore create mode 100644 anyint/_coursera create mode 100644 anyint/handout.pdf create mode 100644 anyint/solver.py create mode 100755 anyint/submit.py create mode 100644 discrete_optimization.sublime-project create mode 100644 knapsack/Solver.java create mode 100644 knapsack/_coursera create mode 100644 knapsack/data/ks_10000_0 create mode 100644 knapsack/data/ks_1000_0 create mode 100644 knapsack/data/ks_100_0 create mode 100644 knapsack/data/ks_100_1 create mode 100644 knapsack/data/ks_100_2 create mode 100644 knapsack/data/ks_106_0 create mode 100644 knapsack/data/ks_19_0 create mode 100644 knapsack/data/ks_200_0 create mode 100644 knapsack/data/ks_200_1 create mode 100644 knapsack/data/ks_300_0 create mode 100644 knapsack/data/ks_30_0 create mode 100644 knapsack/data/ks_400_0 create mode 100644 knapsack/data/ks_40_0 create mode 100644 knapsack/data/ks_45_0 create mode 100644 knapsack/data/ks_4_0 create mode 100644 knapsack/data/ks_500_0 create mode 100644 knapsack/data/ks_50_0 create mode 100644 knapsack/data/ks_50_1 create mode 100644 knapsack/data/ks_60_0 create mode 100644 knapsack/data/ks_82_0 create mode 100644 knapsack/data/ks_lecture_dp_1 create mode 100644 knapsack/data/ks_lecture_dp_2 create mode 100644 knapsack/handout.pdf create mode 100755 knapsack/solver.py create mode 100644 knapsack/solverJava.py create mode 100755 knapsack/submit.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd43d3e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.sublime-workspace +__pycache__ diff --git a/anyint/_coursera b/anyint/_coursera new file mode 100644 index 0000000..e890b2b --- /dev/null +++ b/anyint/_coursera @@ -0,0 +1,3 @@ +heD35Vv_EeajDAoJAOJJEw +Any Integer +mJWtY, _coursera, solver.py, Send an Integer diff --git a/anyint/handout.pdf b/anyint/handout.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6550f1f7e51dd86da708984c9e6df4d9a93d1883 GIT binary patch literal 86565 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 literal 0 HcmV?d00001 diff --git a/anyint/solver.py b/anyint/solver.py new file mode 100644 index 0000000..212f49f --- /dev/null +++ b/anyint/solver.py @@ -0,0 +1,10 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +def solve_it(input_data): + # return a positive integer, as a string + return '10' + +if __name__ == '__main__': + print('This script submits the integer: %s\n' % solve_it('')) + diff --git a/anyint/submit.py b/anyint/submit.py new file mode 100755 index 0000000..c0bf744 --- /dev/null +++ b/anyint/submit.py @@ -0,0 +1,456 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from __future__ import print_function + +import json +import time +import os +from collections import namedtuple + + +# Python 2/3 compatibility +# Python 2: +try: + from urlparse import urlparse + from urllib import urlencode + from urllib2 import urlopen, Request, HTTPError +except: + pass + +# Python 3: +try: + from urllib.parse import urlparse, urlencode + from urllib.request import urlopen, Request + from urllib.error import HTTPError +except: + pass + +import sys +# Python 2: +if sys.version_info < (3, 0): + def input(str): + return raw_input(str) + +# Python 3, backward compatibility with unicode test +if sys.version_info >= (3, 0): + unicode = type(str) + +version = '1.0.0' +submitt_url = \ + 'https://www.coursera.org/api/onDemandProgrammingScriptSubmissions.v1' + +Metadata = namedtuple("Metadata", ['assignment_key', 'name', 'part_data']) +Part = namedtuple("Part", ['id', 'input_file', 'solver_file', 'name']) + + +def load_metadata(metadata_file_name='_coursera'): + ''' + Parses an assignment metadata file + + Args: + metadata_file_name (str): location of the metadata file + + Returns: + metadata as a named tuple structure + ''' + + if not os.path.exists(metadata_file_name): + print('metadata file "%s" not found' % metadata_file_name) + quit() + + try: + with open(metadata_file_name, 'r') as metadata_file: + url = metadata_file.readline().strip() + name = metadata_file.readline().strip() + part_data = [] + for line in metadata_file.readlines(): + if ',' in line: + line_parts = line.split(',') + line_parts = [x.strip() for x in line_parts] + assert(len(line_parts) == 4) + part_data.append(Part(*line_parts)) + if len(url) <= 0: + print('Empty url in _coursera file: %s' % metadata_file_name) + quit() + if len(name) <= 0: + print('Empty assignment name in _coursera file: %s' % metadata_file_name) + quit() + except Exception as e: + print('problem parsing assignment metadata file') + print('exception message:') + print(e) + quit() + + return Metadata(url, name, part_data) + + +def part_prompt(problems): + ''' + Prompts the user for which parts of the assignment they would like to + submit. + + Args: + problems: a list of assignment problems + + Returns: + the selected subset of problems + ''' + + count = 1 + print('Hello! These are the assignment parts that you can submit:') + for i, problem in enumerate(problems): + print(str(count) + ') ' + problem.name) + count += 1 + print('0) All') + + part_text = input('Please enter which part(s) you want to submit (0-%d): ' % (count-1)) + selected_problems = [] + selected_models = [] + + for item in part_text.split(','): + try: + i = int(item) + except: + print('Skipping input "' + item + '". It is not an integer.') + continue + + if i >= count or i < 0: + print('Skipping input "' + item + '". It is out of the valid range (0-%d).' % (count-1)) + continue + + if i == 0: + selected_problems.extend(problems) + continue + + if i <= len(problems): + selected_problems.append(problems[i-1]) + + if len(selected_problems) <= 0: + print('No valid assignment parts identified. Please try again. \n') + return part_prompt(problems) + else: + return selected_problems + + +def compute(metadata, solver_file_override=None): + ''' + Determines which assignment parts the student would like to submit. + Then computes his/her answers to those assignment parts + + Args: + metadata: the assignment metadata + solver_file_override: an optional model file to override the metadata + default + + Returns: + a dictionary of results in the format Coursera expects + ''' + + if solver_file_override is not None: + print('Overriding solver file with: '+solver_file_override) + + selected_problems = part_prompt(metadata.part_data) + + results = {} + + #submission needs empty dict for every assignment part + results.update({prob_data.id : {} for prob_data in metadata.part_data}) + + for problem in selected_problems: + if solver_file_override != None: + solver_file = solver_file_override + else: + solver_file = problem.solver_file + + if not os.path.isfile(solver_file): + print('Unable to locate assignment file "%s" in the current working directory.' % solver_file) + continue + + # if a relative path is given, add that patth to system path so import will work + if os.path.sep in solver_file: + split = solver_file.rfind(os.path.sep) + path = solver_file[0:split] + file_name = solver_file[split+1:] + sys.path.insert(0, path) + solver_file = file_name + + submission = output(problem.input_file, solver_file) + if submission != None: + results[problem.id] = {'output':submission} + + print('\n== Computations Complete ...') + + return results + + +def load_input_data(file_location): + with open(file_location, 'r') as input_data_file: + input_data = ''.join(input_data_file.readlines()) + return input_data + + +def output(input_file, solver_file): + ''' + Attempts to execute solve_it locally on a given input file. + + Args: + input_file: the assignment problem data of interest + solver_file: a python file containing the solve_it function + + Returns: + the submission string in a format that the grader expects + ''' + + try: + pkg = __import__(solver_file[:-3]) # remove '.py' extension + if not hasattr(pkg, 'solve_it'): + print('the solve_it() function was not found in %s' % solver_file) + quit() + except ImportError: + print('import error with python file "%s".' % solver_file) + quit() + + + solution = '' + + start = time.clock() + try: + solution = pkg.solve_it(load_input_data(input_file)) + except Exception as e: + print('the solve_it(input_data) method from solver.py raised an exception') + print('try testing it with python ./solver.py before running this submission script') + print('exception message:') + print(str(e)) + print('') + return 'Local Exception =(' + end = time.clock() + + if not (isinstance(solution, str) or isinstance(solution, unicode)): + print('Warning: the solver did not return a string. The given object will be converted with the str() method.') + solution = str(solution) + + print('Submitting: ') + print(solution) + + return solution.strip() + '\n' + str(end - start) + + +def login_dialog(assignment_key, results, credentials_file_location = '_credentials'): + ''' + Requests Coursera login credentials from the student and submits the + student's solutions for grading + + Args: + assignment_key: Coursera's assignment key + results: a dictionary of results in Cousera's format + credentials_file_location: a file location where login credentials can + be found + ''' + + success = False + tries = 0 + + while not success: + + # stops infinate loop when credentials file is incorrect + if tries <= 0: + login, token = login_prompt(credentials_file_location) + else: + login, token = login_prompt('') + + code, responce = submit_solution(assignment_key, login, token, results) + + print('\n== Coursera Responce ...') + #print(code) + print(responce) + + if code != 401: + success = True + else: + print('\ntry logging in again') + tries += 1 + +def login_prompt(credentials_file_location): + ''' + Attempts to load credentials from a file, if that fails asks the user. + Returns: + the user's login and token + ''' + + if os.path.isfile(credentials_file_location): + try: + with open(credentials_file_location, 'r') as metadata_file: + login = metadata_file.readline().strip() + token = metadata_file.readline().strip() + metadata_file.close() + except: + login, token = basic_prompt() + else: + login, token = basic_prompt() + return login, token + + +def basic_prompt(): + ''' + Prompt the user for login credentials. + Returns: + the user's login and token + ''' + login = input('User Name (e-mail address): ') + token = input('Submission Token (from the assignment page): ') + return login, token + + +def submit_solution(assignment_key, email_address, token, results): + ''' + Sends the student's submission to Coursera for grading via the submission + API. + + Args: + assignment_key: Coursera's assignment key + email_address: the student's email + token: the student's assignment token + results: a dictionary of results in Cousera's format + + Returns: + the https response code and a feedback message + ''' + + print('\n== Connecting to Coursera ...') + print('Submitting %d of %d parts' % + (sum(['output' in v for k,v in results.items()]), len(results))) + + # build json datastructure + parts = {} + submission = { + 'assignmentKey': assignment_key, + 'submitterEmail': email_address, + 'secret': token, + 'parts': results + } + + # send submission + req = Request(submitt_url) + req.add_header('Cache-Control', 'no-cache') + req.add_header('Content-type', 'application/json') + + try: + res = urlopen(req, json.dumps(submission).encode('utf8')) + except HTTPError as e: + responce = json.loads(e.read().decode('utf8')) + + if 'details' in responce and responce['details'] != None and \ + 'learnerMessage' in responce['details']: + return e.code, responce['details']['learnerMessage'] + else: + return e.code, 'Unexpected response code, please contact the ' \ + 'course staff.\nDetails: ' + responce['message'] + + code = res.code + responce = json.loads(res.read().decode('utf8')) + + if code >= 200 and code <= 299: + return code, 'Your submission has been accepted and will be ' \ + 'graded shortly.' + + return code, 'Unexpected response code, please contact the '\ + 'course staff.\nDetails: ' + responce + + +def main(args): + ''' + 1) Reads a metadata file to customize the submission process to + a particular assignment. + 2) The compute the student's answers to the assignment parts. + 3) Submits the student's answers for grading. + + Provides the an option for saving the submissions locally. This is very + helpful when testing the assignment graders. + + Args: + args: CLI arguments from an argparse parser + ''' + + # needed so that output can import from the cwd + sys.path.append(os.getcwd()) + + if args.metadata is None: + metadata = load_metadata() + else: + print('Overriding metadata file with: '+args.metadata) + metadata = load_metadata(args.metadata) + + print('==\n== '+metadata.name+' Solution Submission \n==') + + # compute dialog + results = compute(metadata, args.override) + + if sum(['output' in v for k,v in results.items()]) <= 0: + return + + # store submissions if requested + if args.record_submission == True: + print('Recording submission as files') + for sid, submission in results.items(): + if 'output' in submission: + directory = '_'+sid + if not os.path.exists(directory): + os.makedirs(directory) + + submission_file_name = directory+'/submission.sub' + print(' writting submission file: '+submission_file_name) + with open(submission_file_name,'w') as submission_file: + submission_file.write(submission['output']) + submission_file.close() + return + + # submit dialog + if args.credentials is None: + login_dialog(metadata.assignment_key, results) + else: + print('Overriding credentials file with: '+args.credentials) + login_dialog(metadata.assignment_key, results, args.credentials) + + + +import argparse +def build_parser(): + ''' + Builds an argument parser for the CLI + + Returns: + parser: an argparse parser + ''' + + parser = argparse.ArgumentParser( + description='''The submission script for Discrete Optimization + assignments on the Coursera Platform.''', + epilog='''Please file bugs on github at: + https://github.com/discreteoptimization/assignment/issues. If you + would like to contribute to this tool's development, check it out at: + https://github.com/discreteoptimization/assignment''' + ) + + parser.add_argument('-v', '--version', action='version', + version='%(prog)s '+version) + + parser.add_argument('-o', '--override', + help='overrides the python source file specified in the \'_coursera\' file') + + parser.add_argument('-m', '--metadata', + help='overrides the \'_coursera\' metadata file') + + parser.add_argument('-c', '--credentials', + help='overrides the \'_credentials\' credentials file') + + parser.add_argument('-rs', '--record_submission', + help='records the submission(s) as files', action='store_true') + + return parser + + +if __name__ == '__main__': + parser = build_parser() + main(parser.parse_args()) + diff --git a/discrete_optimization.sublime-project b/discrete_optimization.sublime-project new file mode 100644 index 0000000..24db303 --- /dev/null +++ b/discrete_optimization.sublime-project @@ -0,0 +1,8 @@ +{ + "folders": + [ + { + "path": "." + } + ] +} diff --git a/knapsack/Solver.java b/knapsack/Solver.java new file mode 100644 index 0000000..07ffdcd --- /dev/null +++ b/knapsack/Solver.java @@ -0,0 +1,91 @@ +import java.io.*; +import java.util.List; +import java.util.ArrayList; + +/** + * The class Solver is an implementation of a greedy algorithm to solve the knapsack problem. + * + */ +public class Solver { + + /** + * The main class + */ + public static void main(String[] args) { + try { + solve(args); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * Read the instance, solve it, and print the solution in the standard output + */ + public static void solve(String[] args) throws IOException { + String fileName = null; + + // get the temp file name + for(String arg : args){ + if(arg.startsWith("-file=")){ + fileName = arg.substring(6); + } + } + if(fileName == null) + return; + + // read the lines out of the file + List lines = new ArrayList(); + + BufferedReader input = new BufferedReader(new FileReader(fileName)); + try { + String line = null; + while (( line = input.readLine()) != null){ + lines.add(line); + } + } + finally { + input.close(); + } + + + // parse the data in the file + String[] firstLine = lines.get(0).split("\\s+"); + int items = Integer.parseInt(firstLine[0]); + int capacity = Integer.parseInt(firstLine[1]); + + int[] values = new int[items]; + int[] weights = new int[items]; + + for(int i=1; i < items+1; i++){ + String line = lines.get(i); + String[] parts = line.split("\\s+"); + + values[i-1] = Integer.parseInt(parts[0]); + weights[i-1] = Integer.parseInt(parts[1]); + } + + // a trivial greedy algorithm for filling the knapsack + // it takes items in-order until the knapsack is full + int value = 0; + int weight = 0; + int[] taken = new int[items]; + + for(int i=0; i < items; i++){ + if(weight + weights[i] <= capacity){ + taken[i] = 1; + value += values[i]; + weight += weights[i]; + } else { + taken[i] = 0; + } + } + + // prepare the solution in the specified output format + System.out.println(value+" 0"); + for(int i=0; i < items; i++){ + System.out.print(taken[i]+" "); + } + System.out.println(""); + } +} \ No newline at end of file diff --git a/knapsack/_coursera b/knapsack/_coursera new file mode 100644 index 0000000..3c38267 --- /dev/null +++ b/knapsack/_coursera @@ -0,0 +1,8 @@ +_le-pVv_EeasJA5dVmWj2w +Knapsack +awPVV, ./data/ks_30_0, solver.py, Knapsack Problem 1 +hHYWS, ./data/ks_50_0, solver.py, Knapsack Problem 2 +JwWnx, ./data/ks_200_0, solver.py, Knapsack Problem 3 +Z2tMt, ./data/ks_400_0, solver.py, Knapsack Problem 4 +PUIxa, ./data/ks_1000_0, solver.py, Knapsack Problem 5 +AKXWc, ./data/ks_10000_0, solver.py, Knapsack Problem 6 diff --git a/knapsack/data/ks_10000_0 b/knapsack/data/ks_10000_0 new file mode 100644 index 0000000..462213b --- /dev/null +++ b/knapsack/data/ks_10000_0 @@ -0,0 +1,10001 @@ +10000 1000000 +122416 120553 +171513 179530 +71709 76916 +30363 28113 +131225 120582 +33759 32535 +40880 43263 +203267 185377 +132025 136991 +92508 85416 +33323 32725 +120889 115377 +123919 125990 +156914 157002 +165914 151158 +68590 66466 +128882 122615 +63477 61894 +59609 58667 +162659 156404 +140255 154967 +81587 89693 +192056 194502 +64814 71996 +10665 11062 +109588 102286 +170130 168996 +162920 177197 +173511 185263 +19198 20493 +28331 31275 +11018 10705 +113233 121157 +192217 196939 +122770 115598 +159373 156431 +134988 130086 +43146 42098 +70420 73158 +171049 169636 +154108 169769 +198256 193447 +83735 84312 +53932 59563 +4199 4305 +131792 134920 +33044 35347 +179421 184727 +706 649 +136170 126958 +41181 44240 +67246 65846 +108434 114791 +134952 129706 +124205 135730 +3077 3117 +153939 170667 +131352 142408 +108884 100582 +154292 158464 +69089 74110 +83454 84752 +173593 187553 +25705 26824 +131269 126581 +82123 77570 +196053 184998 +31917 35324 +1930 2062 +541 599 +62546 67967 +56482 52459 +166450 179504 +32077 32197 +16476 16129 +93336 92798 +145974 147308 +106077 101817 +52475 50314 +46203 49144 +152536 148223 +145968 152219 +174200 187844 +9912 10679 +160709 158671 +141547 146831 +199436 187873 +204448 189618 +159658 169452 +51475 48945 +126770 121310 +18488 18042 +31938 34894 +148573 137237 +10858 11458 +120829 110971 +77193 73499 +49714 52942 +125877 138782 +99979 91834 +40251 44383 +160390 167718 +109197 106892 +137809 132886 +115953 114323 +18849 17248 +12594 13105 +182379 175112 +161402 174232 +149386 140539 +39093 41980 +187252 184357 +37349 41467 +23861 25839 +25589 25383 +11180 12376 +141743 138737 +94810 96751 +16017 16243 +36323 35626 +65081 66649 +29789 31142 +146562 150509 +27510 26940 +129515 139071 +140581 146236 +144966 142957 +160707 172169 +122113 115988 +21655 20241 +6521 6483 +143861 146919 +46792 48056 +68682 72318 +47769 49674 +171487 158084 +103165 113395 +21715 20632 +180184 190663 +156738 146602 +106642 106357 +156196 171374 +86873 95753 +268 253 +192110 195227 +39895 39880 +149501 141080 +55885 53497 +162027 156522 +93252 90280 +86355 85831 +7715 8118 +12132 12755 +9161 10058 +47245 47539 +117838 125862 +84054 83312 +162198 167717 +77936 83139 +158939 162003 +134694 124099 +149014 136680 +175058 190568 +43502 45667 +88080 90171 +111091 114816 +138296 128924 +104939 99605 +26642 28719 +135045 130255 +31069 33252 +50498 53507 +151628 138466 +184722 184883 +51937 50192 +54610 53408 +40690 38912 +136424 149383 +177456 174520 +63743 66937 +74898 74013 +86055 89370 +12256 12670 +83658 92342 +72750 79418 +37808 38907 +93895 89232 +81723 79511 +23476 25665 +40035 39087 +198759 183268 +162615 160504 +35497 35078 +49186 52086 +114658 119931 +147511 158415 +82462 87621 +114533 105867 +119231 129696 +125946 120683 +152843 148648 +65856 61986 +152027 165416 +131186 130740 +90775 99456 +170691 160106 +28855 30642 +201138 190127 +98338 95945 +29947 29387 +141379 131302 +168194 181625 +44537 44648 +140180 139430 +39446 37047 +36956 34505 +134510 145774 +95769 92441 +84403 89315 +79207 83568 +179146 186963 +43995 41978 +91102 90287 +87674 82009 +115472 111997 +100860 96025 +3302 3245 +135067 134539 +170938 156345 +46682 43264 +161280 170807 +101303 112548 +119506 126910 +10798 9972 +47050 48499 +168524 167901 +103108 100207 +6634 6515 +167842 155662 +171434 182410 +15412 15895 +51947 57589 +81641 84739 +54248 53593 +16561 17132 +85479 90796 +309 339 +150593 139023 +163815 168270 +120422 127238 +17563 17676 +25348 28112 +167018 159622 +87515 86887 +167846 179589 +89902 84630 +105956 102218 +155002 168562 +61582 56989 +159747 145398 +116280 125109 +11060 10687 +42862 44480 +126488 134368 +185569 197009 +124267 135139 +166801 177188 +135350 149981 +50317 52366 +109377 107693 +132030 128837 +13973 12817 +83138 81289 +81905 80484 +184819 177391 +107097 118904 +7568 8264 +189832 172876 +170554 160050 +116812 118442 +127674 125178 +66932 63840 +10370 10669 +206862 195480 +169095 171002 +122109 117782 +170588 156805 +178623 170766 +106268 103242 +190232 185568 +17704 18860 +133142 147249 +17082 18330 +121413 129127 +173831 190428 +55010 58688 +135627 126720 +198273 190032 +168688 165211 +164932 150741 +79720 72510 +71141 70520 +106565 101495 +145758 135907 +49704 46977 +85739 86905 +176077 162697 +196085 182903 +182289 181277 +173514 173797 +56861 57523 +138864 134392 +13936 13780 +123018 123463 +72348 66787 +117482 116456 +190776 181198 +38585 38567 +125507 116048 +33922 36514 +79444 81248 +102529 111300 +181593 183033 +102876 98716 +121800 129927 +43539 44633 +112644 108139 +112991 120484 +109876 108907 +131723 130906 +3578 3833 +50409 46053 +139725 128286 +87525 94326 +146217 159171 +19839 21281 +101604 105116 +156682 166932 +73550 68466 +116228 116853 +106174 111435 +166013 156376 +80594 74807 +82228 87450 +99579 100218 +83615 82780 +178085 180561 +206526 191711 +4431 4579 +7746 8569 +17158 18118 +48645 46706 +103613 111466 +95695 94590 +186562 171750 +89186 81878 +59548 62429 +26253 25333 +38471 40076 +161469 169836 +39780 39603 +141664 153570 +153503 154782 +70391 65452 +52704 49807 +133846 145541 +102507 107914 +104664 105898 +65878 66365 +39529 43604 +47858 43849 +84649 87123 +76845 71601 +91489 95940 +58049 62430 +82675 83567 +115775 109452 +99592 101503 +68328 63701 +96945 89822 +132302 134936 +154831 161773 +21770 21382 +152858 160733 +118786 122185 +172387 177837 +196275 196049 +186706 177920 +79395 77243 +80974 89114 +86872 93088 +139286 130103 +191052 183352 +29069 29064 +48565 48682 +156488 149195 +37297 33969 +104945 101381 +17507 18924 +104307 97183 +168396 183042 +131343 122715 +165518 164655 +61298 59057 +70478 72368 +168560 170826 +55997 52551 +32449 33048 +142221 151532 +6606 6416 +53162 53520 +11577 12421 +134018 139662 +83491 76834 +92892 87345 +76200 82116 +8118 7772 +7766 7730 +167630 169178 +139862 130041 +72736 75587 +26509 24232 +184807 179783 +80378 76069 +47061 44058 +58213 63083 +54128 54396 +21099 23393 +131385 132260 +127478 131735 +163896 156680 +202837 197983 +82049 90379 +52525 49990 +42387 40388 +155910 171758 +117947 107687 +187235 192969 +67200 61267 +42272 40564 +195812 184183 +51886 57006 +201029 194145 +104086 113907 +184504 194021 +77868 70841 +72539 67814 +79853 75206 +183294 183684 +66790 67820 +137954 141858 +99529 95523 +23180 21394 +138800 128001 +163188 179872 +158399 164760 +94279 88504 +136485 126316 +127791 119285 +16487 15247 +144415 144071 +143036 137499 +13631 14463 +88232 86092 +163908 167738 +142660 135415 +27716 26792 +12345 12715 +107189 118584 +172353 189283 +43154 45474 +86212 80548 +16274 15504 +183109 171321 +144423 152169 +172858 177609 +99005 100796 +67916 62098 +21046 19590 +177528 172932 +142982 157665 +149692 149308 +71326 73865 +94330 97627 +160392 151499 +199827 183683 +99620 92556 +125675 124590 +154980 159027 +3005 2858 +165404 164020 +112241 120949 +125454 115514 +5326 5105 +158063 169840 +131127 131972 +55059 58157 +20769 19534 +7502 7418 +34146 36296 +60056 64256 +6510 6774 +74193 79699 +203411 194440 +202796 192021 +128420 135315 +141101 137800 +10918 10022 +75944 82740 +65726 71116 +176331 168049 +132579 120862 +128541 124690 +157406 158146 +175117 178414 +148936 137732 +163112 169292 +24745 24655 +118775 121450 +148224 160711 +4565 4266 +90573 96966 +192635 195482 +29873 28146 +154500 156318 +125281 135736 +70437 76476 +18709 18215 +122774 120452 +134010 123243 +113721 115290 +29597 31140 +29912 27618 +140782 137634 +126893 120198 +188083 191551 +154283 157671 +65107 68634 +117030 115165 +43850 40555 +89740 93101 +99356 108872 +97605 94470 +176347 173939 +48472 47288 +129426 127645 +65703 68274 +149737 156348 +14952 14966 +108962 104068 +141236 150555 +105589 116805 +941 958 +114285 123296 +26904 28935 +42626 42023 +46148 47763 +101714 110864 +173598 177795 +179299 164502 +192020 188704 +73897 70381 +151829 139946 +144420 160352 +168034 177276 +195914 197000 +7340 7261 +96752 104490 +76140 69221 +27422 26734 +43527 47049 +204990 192184 +119876 117190 +137491 135973 +84525 92390 +105311 116964 +159817 159602 +30904 32814 +40733 41973 +54404 50595 +20389 19240 +153622 149891 +7196 7487 +168561 158725 +188303 193807 +100533 104536 +54339 59098 +62239 67827 +145802 150457 +58095 61403 +161156 175204 +119750 125361 +37858 35361 +13046 13941 +166818 172679 +42138 39899 +33904 33134 +186068 173512 +135584 138422 +202329 199145 +160711 162480 +101878 106608 +200024 196076 +54197 55725 +27183 24736 +60963 60037 +103158 96753 +36848 35857 +57134 54945 +208197 195733 +124135 120790 +14148 13531 +90549 95299 +26997 25451 +125353 128437 +191964 176234 +60185 57212 +3413 3469 +56849 54964 +62614 60536 +75316 70447 +166088 158711 +147905 148992 +54838 55063 +82649 87015 +474 482 +133348 122708 +131874 120630 +173821 184666 +165313 183489 +147046 161649 +68808 70043 +149185 142247 +182767 176256 +12066 13157 +111987 102313 +74919 78682 +18931 18437 +186655 182086 +29903 29017 +94007 98981 +9771 9009 +11433 11382 +116963 107905 +143436 136230 +9651 9949 +91038 97822 +156244 157522 +11150 11558 +193886 178783 +27005 25524 +92817 98259 +150340 159765 +44522 41924 +50085 52023 +115471 112617 +119188 112977 +144312 154517 +105890 104239 +6586 6609 +31749 32925 +12036 12372 +110578 106736 +160180 177697 +82633 90348 +196690 187646 +176552 194965 +29177 32204 +64221 63957 +50294 52104 +187745 182534 +184584 189597 +63862 59101 +130043 130147 +32291 33652 +106730 114616 +33916 32435 +182444 168121 +3869 4122 +126264 118302 +75971 75820 +136498 126255 +194801 189115 +156115 159271 +188197 189773 +163753 167139 +96089 88808 +168353 170375 +52711 50175 +15965 17454 +94340 94457 +30091 29899 +77291 83354 +172432 159777 +21312 20304 +100127 100251 +119287 131996 +154047 146121 +152785 165147 +165268 180023 +3828 3505 +182212 195500 +15437 15505 +23684 22204 +72656 73898 +49199 48714 +84120 90609 +168945 164638 +151455 141703 +160653 172575 +75616 70408 +138940 148973 +10079 9328 +72557 76381 +29461 28137 +137873 151698 +120484 128117 +55293 60212 +37963 34676 +128493 142608 +142673 149907 +188993 190156 +11144 11473 +145675 143429 +97894 95023 +6468 6407 +5811 6324 +11416 12648 +137969 151066 +1769 1665 +73074 73624 +102347 103498 +120970 112525 +179812 175889 +41808 43526 +138475 134295 +163228 177196 +116460 106183 +6978 7245 +42341 45652 +32038 33989 +107649 113390 +21550 21193 +52996 52832 +24012 22543 +159119 175497 +169937 185757 +89083 83316 +142247 135661 +39064 40471 +24191 22074 +90680 86885 +10567 9963 +175366 181008 +31236 30488 +156524 153951 +108917 100797 +151838 168231 +145902 151994 +93160 98345 +174508 180036 +162445 174600 +91678 85036 +106001 97829 +152115 139978 +44601 45145 +53575 56070 +118326 129294 +110860 107458 +193348 186682 +176849 173031 +141061 143097 +54180 52363 +211710 196870 +176170 185596 +71061 69654 +166838 177004 +180658 192530 +31241 29752 +62820 65775 +85222 85271 +16334 15339 +54520 52507 +172493 172581 +60190 63207 +192462 190297 +126837 138158 +174762 174968 +161436 163811 +161289 154272 +105307 110083 +140819 152061 +10162 9915 +173536 188667 +90014 87158 +156525 144487 +135543 130055 +50871 53537 +84559 89584 +132409 137920 +84299 89997 +118911 111362 +66782 73568 +109852 103086 +31586 32314 +44256 46025 +80701 89666 +158475 153841 +161187 154277 +141607 143833 +22549 21850 +61865 58913 +103409 100560 +28220 29520 +171776 157367 +134696 142321 +154647 169768 +159162 165513 +145951 139634 +53315 48689 +5325 4866 +57918 62611 +77336 82990 +54391 49669 +137787 136478 +20107 22205 +4652 4823 +102685 98224 +21688 21862 +71515 74316 +67710 67493 +95298 104078 +6472 6445 +57537 56512 +25338 23960 +62515 68115 +177909 171825 +114256 108437 +174104 185019 +40302 39822 +152306 165018 +20957 21629 +191527 190690 +138147 151402 +60861 67451 +113029 117800 +54243 51693 +22264 22313 +29668 29198 +136724 127549 +74450 71109 +41778 42665 +150356 151674 +89344 96352 +61216 63260 +61638 60065 +181391 195662 +33094 32108 +212340 199215 +162149 177698 +128194 138244 +34537 33784 +12451 12997 +58381 58007 +175800 165953 +76145 71508 +9409 9582 +129111 128967 +145667 157905 +166828 182218 +188850 182982 +170628 178384 +9438 8813 +158015 146207 +164619 177585 +102099 112299 +91679 96502 +95685 94161 +68687 69534 +139128 140077 +33266 30840 +18791 18776 +105171 97735 +72128 78977 +22887 24426 +1572 1446 +101186 94061 +81575 89584 +51861 51627 +99091 97769 +170292 156317 +155735 145243 +146624 141764 +89765 95942 +13453 12655 +150110 158461 +142821 151081 +131101 136861 +42898 44931 +35174 36843 +31482 29433 +12931 12873 +174619 190468 +161099 162133 +9559 8700 +92068 101599 +160998 149415 +97247 97156 +166019 176290 +15195 15595 +155314 159530 +73720 78492 +8028 7816 +3982 3768 +154841 169879 +58828 56345 +106287 110515 +8881 8134 +167368 182336 +123754 135699 +7283 6676 +108032 119571 +49774 46274 +53832 55675 +14398 14404 +121324 118037 +160117 171012 +94070 93213 +169924 181767 +121248 111420 +162347 170678 +181313 197086 +152470 161867 +124920 113906 +128724 120532 +67082 69054 +43568 45543 +29886 29596 +102906 102563 +88330 90452 +29054 28510 +57604 62103 +98768 96688 +15402 17110 +75638 80155 +191933 175549 +11001 11926 +179112 188432 +142029 140980 +147675 159648 +2928 2998 +183895 189609 +104016 114794 +22853 21003 +17721 19069 +10097 10596 +135956 140900 +173767 191494 +126398 134243 +167786 179418 +84033 84793 +45102 44816 +58373 56232 +172083 188546 +189434 188260 +164374 170916 +38428 35480 +138702 127914 +118996 118031 +72021 74551 +172483 186821 +143931 153532 +181245 168587 +157145 156789 +135998 150609 +183456 195324 +125765 132371 +66770 63561 +55428 51171 +32580 31303 +113547 123407 +190129 195475 +100496 102958 +121528 115411 +15988 17036 +131012 138033 +144811 138415 +167110 165363 +89176 95686 +7100 6585 +120016 117421 +109091 120402 +125056 115935 +33512 33786 +88792 87673 +191010 182772 +181326 191207 +131032 120384 +14503 15597 +148846 156474 +33610 35220 +1014 975 +144304 147375 +200710 194396 +133118 135305 +24058 24165 +57537 57324 +147971 162798 +156495 165712 +95095 99962 +191674 184927 +167193 167325 +212747 194785 +183639 189184 +60411 63497 +11545 10865 +61967 62299 +175695 181284 +19060 19256 +144352 159819 +135760 133448 +69956 69773 +102822 104578 +143196 149734 +65934 71259 +31378 29274 +31119 28488 +172134 172503 +172969 183922 +135976 128294 +152067 145974 +63089 66829 +152080 151061 +28689 31109 +165140 176063 +160166 153683 +120464 111479 +88101 82886 +97773 94755 +90177 82572 +65707 66610 +96462 102128 +300 298 +78616 72564 +170008 177997 +72021 71623 +44755 46119 +124699 126499 +84328 84535 +217534 199941 +157266 154423 +195383 197898 +18942 19786 +25008 24675 +51780 50498 +169047 162549 +71559 69322 +196058 179855 +51949 49334 +186674 198089 +73537 76710 +174196 178037 +61540 57873 +124675 129093 +121595 133363 +109028 120697 +10885 11541 +136361 134530 +139848 128118 +136743 129528 +159733 163667 +134760 123317 +141765 151704 +196871 197132 +31284 32163 +43516 40617 +8477 9201 +189131 196103 +116978 129447 +5141 4680 +120371 116287 +137409 151156 +10949 10317 +41167 38417 +48215 45357 +157141 145818 +98525 106252 +142400 150496 +48181 51471 +136954 133498 +133106 130595 +1323 1450 +125965 132578 +70121 74510 +147531 141022 +145586 134912 +175012 170958 +126246 138378 +104644 114131 +171304 181321 +114241 125029 +157408 173149 +4527 4959 +6011 6154 +181043 194467 +82402 78766 +202434 190187 +29978 28319 +21183 21677 +105139 101536 +137392 131498 +39427 38656 +60139 56788 +85482 89424 +103916 109850 +15304 16511 +84040 82001 +118728 117780 +210913 195520 +44939 42182 +37192 40456 +118289 122811 +30674 33966 +166017 161627 +201601 191879 +69412 71953 +212312 194111 +149684 152030 +158078 153669 +64701 65049 +42865 42391 +182487 198535 +207603 198693 +156039 144531 +93689 87844 +73938 69546 +118782 126514 +72158 73845 +116450 111457 +47253 52212 +119771 129507 +143665 135796 +68851 70160 +52290 51565 +165336 160022 +44154 45114 +149546 139133 +199444 190709 +21637 22357 +156505 168878 +14124 14655 +80322 79944 +64336 66198 +156539 172145 +122738 112248 +20551 21372 +38970 37044 +5194 5405 +189201 178898 +93760 98816 +32843 35769 +17716 16966 +108191 118849 +153231 140509 +163477 153750 +74962 72570 +18203 19909 +8564 8886 +9120 9830 +172595 159298 +145983 143782 +55670 59721 +147116 136880 +57709 62561 +10006 10936 +62793 66476 +41636 44644 +171530 188369 +146583 154007 +150054 142675 +152577 159579 +59937 61323 +93413 85417 +71193 67526 +148291 147992 +136691 128445 +156611 157345 +125607 117357 +176256 191755 +103457 107539 +210287 194295 +36248 36870 +41945 41418 +133949 135984 +81510 82994 +126134 137514 +120111 125399 +64941 66163 +88490 93472 +89505 83213 +175163 192479 +47788 50165 +71531 72858 +161713 151101 +145556 147255 +194040 190023 +71479 69251 +29341 27232 +140942 142111 +213232 198518 +138976 144903 +28410 29624 +129011 136064 +161580 148489 +160600 162270 +21000 23264 +106127 96687 +101671 108287 +188102 184584 +60435 63053 +57669 60201 +16449 16530 +23278 23247 +167759 156559 +194858 188183 +19942 19896 +32011 29642 +9530 9103 +6631 7305 +198639 185246 +110533 102870 +134093 145681 +41986 40892 +112646 111341 +124598 116573 +203040 192433 +175051 163542 +68619 72392 +107609 116368 +147154 157479 +63097 62886 +108333 104393 +182258 185198 +100859 93189 +116108 115942 +137388 139592 +197480 194237 +151778 151349 +74080 71419 +156008 168662 +22981 22541 +3991 4413 +122855 119025 +154212 152955 +129959 132282 +168411 160508 +84392 81473 +91259 89085 +137567 138344 +89174 84844 +180282 197580 +30644 29915 +90859 83591 +40298 43040 +95789 88350 +48659 52811 +187190 190222 +13013 12100 +90980 90030 +204328 194881 +42273 39873 +157331 157922 +20377 19098 +56230 60969 +206995 188844 +187508 188249 +53218 57389 +35073 33386 +183401 172135 +86721 87781 +198709 189019 +74311 81378 +20645 20946 +119453 128220 +204593 198401 +190258 182062 +26215 25624 +160786 172717 +61188 63527 +201675 191393 +146670 153581 +74653 73952 +1301 1215 +70808 69641 +148792 155026 +48964 53338 +116101 123557 +134880 132271 +104248 111821 +146981 137368 +60481 56158 +17400 17045 +97246 107763 +167000 158128 +84348 85403 +14511 15159 +70761 65952 +124384 131733 +142725 143285 +128237 122764 +54836 50491 +12612 13458 +162348 157168 +59690 62021 +114488 116917 +163710 175947 +29879 30266 +1791 1674 +21123 19272 +109291 100353 +20563 18858 +104904 110593 +169265 172345 +88141 93260 +94599 103427 +92928 90568 +185616 183191 +100685 110880 +154340 164592 +128842 126776 +41007 41852 +181681 169162 +100349 94855 +129509 134178 +23484 21705 +38215 37362 +9829 10632 +117386 107923 +167497 171307 +154583 140569 +14843 13597 +93752 88529 +21685 20250 +152884 140058 +25618 25625 +35894 35229 +48070 51990 +130520 126634 +127383 122171 +118648 113584 +36690 38826 +178107 164569 +31091 28586 +119241 113088 +107616 98859 +74889 82448 +93877 95671 +67494 66554 +45035 48952 +174141 185746 +56403 56608 +55180 58951 +191788 179448 +76220 74941 +165733 157193 +47962 44233 +174904 172001 +83321 85512 +113461 104130 +185372 179996 +69964 70957 +166484 155012 +62952 68678 +88637 94871 +203330 186980 +186845 183197 +143576 142967 +149899 138186 +116297 110998 +87261 85272 +70005 65573 +34822 33152 +108925 117152 +51401 55060 +159499 168646 +195331 179964 +53685 57636 +78775 86411 +41887 39868 +62425 64637 +19129 19859 +51422 50575 +146097 154900 +41139 45051 +155666 143972 +165538 170703 +45095 48899 +18961 18345 +96391 98075 +104449 98449 +44029 40169 +17333 17715 +190843 179717 +199988 185719 +186424 178063 +6191 6719 +115388 119992 +196675 190140 +110187 100586 +98567 95021 +144913 150101 +96095 93046 +184189 198679 +41588 39001 +46452 50375 +145358 137299 +100662 105951 +120086 113749 +20765 22723 +27937 30557 +191272 187186 +56544 57905 +103223 109256 +65721 67320 +25190 27949 +82144 79349 +92182 96670 +25877 24865 +68021 70486 +69086 74979 +73210 70808 +137428 129838 +64972 67868 +144044 149623 +130823 120532 +88158 95250 +96329 92889 +178988 179880 +106184 105079 +144243 136535 +167647 180306 +32290 29414 +127736 124659 +91782 88355 +158223 158451 +188509 189852 +4912 4674 +170666 163382 +169489 187476 +119167 112301 +52673 56234 +153214 145000 +459 440 +106329 107384 +69378 73592 +140558 146797 +62813 67851 +39905 38485 +66680 64071 +151386 163858 +12845 11937 +90323 94167 +74536 76600 +29355 30207 +7837 8380 +70349 66825 +140426 136505 +137870 152372 +189660 194628 +120112 118323 +36358 35456 +89503 95949 +180451 174797 +75017 78933 +211476 193679 +149468 142528 +93680 99734 +183478 197800 +197204 179503 +112843 104732 +113155 112838 +134915 148193 +79441 79414 +29042 30730 +178975 163759 +46901 47535 +164439 178755 +42496 44557 +56143 51533 +80248 76858 +31793 34174 +200728 183235 +47490 51014 +142266 147940 +88094 90587 +42103 38691 +40875 39336 +164035 161417 +42316 43029 +96840 89982 +53520 49327 +145998 155200 +5724 6325 +80404 80319 +68216 75134 +106386 116761 +72583 73161 +119480 129965 +82216 90979 +5682 5214 +133925 141743 +142332 139366 +29291 30613 +70437 69972 +2174 2058 +190285 192932 +49086 48695 +128813 126329 +154547 157449 +109533 109433 +128158 125716 +149591 154565 +125213 138020 +191646 180627 +92422 89762 +171569 156395 +21687 20768 +124114 114874 +64834 66561 +57339 55958 +101607 97992 +155953 150287 +32350 32763 +76654 70190 +138537 147635 +103981 114829 +84160 83971 +71167 75154 +114880 115075 +176079 171082 +142094 140600 +115816 116190 +117691 110625 +38679 40884 +115901 120033 +168390 156068 +78583 86340 +79386 81685 +189660 196527 +92004 101748 +198025 182761 +23542 23120 +119060 109952 +165542 174613 +93611 87705 +200427 190436 +45104 45592 +31671 29131 +69281 72104 +100893 105062 +95183 101287 +81 81 +142784 142897 +78907 84552 +91754 91912 +11127 10462 +133343 142237 +6079 5718 +147251 161277 +22155 23458 +147134 151579 +178965 178870 +142723 134518 +69965 64327 +55533 51942 +143639 158501 +41026 43593 +183648 190578 +112756 116164 +152570 167102 +94388 93496 +85048 89089 +82888 83715 +191501 174195 +57414 56112 +55203 52684 +107990 99772 +186591 191315 +101171 93126 +185902 175717 +33294 32466 +213891 197701 +6898 6393 +167335 156250 +18297 18673 +157669 172809 +212594 195573 +164825 151727 +19096 18705 +71828 73339 +47036 44748 +105552 102567 +78618 83121 +116848 109073 +3934 4348 +53288 53306 +35802 39390 +192602 198810 +55086 56109 +78058 75357 +127636 121068 +173235 187262 +81404 78578 +94673 97407 +30262 27961 +74053 70338 +185136 176901 +112194 112519 +160876 158702 +101492 100931 +86694 82636 +60412 58137 +139480 127615 +67604 67959 +160659 164504 +84592 91024 +148879 146728 +190983 183665 +76051 70371 +148604 142787 +46063 44015 +25655 25308 +6226 6543 +148697 159233 +144589 148135 +151286 164924 +41808 39467 +126277 115542 +125632 137768 +212674 194802 +218215 199151 +51950 47622 +124339 120089 +113525 118006 +180021 176892 +165757 153231 +146802 144553 +71919 72413 +60814 63518 +63950 64809 +112173 114831 +144883 139730 +100101 91020 +175775 192134 +16916 16270 +36473 38494 +17125 16996 +70558 68052 +64390 68341 +158574 150305 +100674 109553 +129750 141111 +191039 174553 +35015 35160 +98765 95399 +107945 106002 +35361 34714 +114374 123735 +46771 47970 +182795 178237 +170072 157093 +138239 131342 +162167 166380 +1253 1165 +177875 187502 +9872 9862 +71350 65654 +149326 146128 +85376 83059 +195802 199459 +116533 123292 +115111 126160 +75398 71422 +99829 102113 +30599 29219 +75945 74189 +167271 154209 +138586 133144 +69201 73916 +58584 62917 +64634 69433 +70793 72121 +66207 69056 +16407 17454 +123323 123308 +24812 22736 +139681 137075 +60609 64631 +28740 26733 +89124 97922 +183560 192323 +46510 47500 +168848 161269 +91031 88718 +177454 174407 +208582 194833 +82346 87561 +52480 48718 +176352 165762 +172442 159652 +11937 10872 +47468 51764 +4666 4575 +114442 107100 +189047 177244 +68108 62031 +37996 36916 +59802 59278 +139757 145622 +203928 197765 +8949 9281 +104092 99844 +99735 94483 +17839 18072 +153626 165296 +28459 31366 +64739 69067 +51751 56419 +115648 118292 +128183 133267 +120332 122750 +151333 138012 +131459 143083 +106761 114342 +84222 80375 +43212 42641 +35489 35358 +136399 148275 +122883 114763 +165574 171053 +121329 116862 +98910 91432 +171097 179544 +134521 124977 +9783 8902 +206700 189231 +83941 86280 +172245 167741 +163620 180829 +117360 127784 +170775 183629 +58297 59270 +204330 198354 +149619 157425 +134801 145828 +54644 50015 +123082 131296 +115205 112223 +141510 134612 +159292 175346 +116831 110761 +146587 155332 +95078 91246 +95736 102790 +5575 5437 +65681 66153 +192016 193868 +30601 33272 +105962 104146 +130932 143186 +53994 55955 +44710 48195 +25159 25226 +181780 176895 +28930 31219 +8692 9594 +40762 43250 +117149 122343 +166809 175779 +23798 23818 +117979 107583 +37913 39676 +152739 143463 +6363 6523 +68055 71120 +213764 196203 +133181 139404 +49782 53421 +51881 56305 +137132 141979 +141488 150312 +141529 151709 +168188 164244 +183841 195819 +122140 131356 +49287 51295 +170289 182039 +191787 199925 +79431 84691 +115917 107043 +94789 92866 +56140 60879 +64572 70530 +186795 174194 +60032 66184 +180434 183879 +168388 157736 +208127 195951 +98553 104835 +94179 92452 +217533 198733 +168459 176792 +146016 134777 +26967 25001 +140295 146564 +61411 58499 +40538 38555 +51826 57171 +116993 129514 +114323 118884 +158372 165506 +59738 61655 +175040 176038 +83801 87491 +61650 56051 +161242 150119 +19265 18985 +69482 73032 +146815 157722 +135286 140972 +102510 97005 +28926 27505 +187822 174351 +38625 39818 +200929 194360 +146740 144727 +198018 190165 +162979 161825 +179119 163351 +148449 164591 +55704 58840 +84542 93447 +25487 25509 +41935 38980 +25851 27436 +15225 14480 +198541 181123 +86666 85119 +23251 24402 +157336 147529 +178095 171807 +41856 45473 +19921 19701 +182753 179574 +55651 57519 +128460 133061 +42247 42278 +103172 96729 +24640 25717 +77223 72737 +183477 169573 +106904 116204 +50992 50362 +175878 173443 +108451 105689 +43603 40546 +204585 194516 +82040 86805 +158814 165076 +10465 10924 +16863 16610 +102795 100379 +193419 199634 +110821 104240 +116435 121804 +32405 32305 +29085 30904 +98624 104529 +59883 55173 +168756 184527 +107090 115030 +103390 113708 +55091 57163 +15868 16903 +96973 102247 +1494 1430 +21347 20899 +10350 11267 +137743 130894 +47556 47904 +85989 90399 +77977 73225 +107312 100761 +51677 47381 +106247 104665 +30141 28024 +92326 91839 +72091 77752 +32399 33271 +41894 43018 +71296 75107 +35175 38537 +52914 54887 +8836 8338 +136976 152080 +81926 85886 +118789 115745 +111608 104893 +121392 123708 +85032 78732 +85563 93546 +32280 29394 +34197 33031 +177143 185309 +128 141 +214984 195764 +158039 160571 +98410 98584 +54728 54561 +26290 26908 +186027 193035 +53198 58654 +14532 14472 +196921 192929 +147565 143381 +32317 31624 +104500 114283 +147713 149553 +119334 116386 +143991 141484 +159235 162752 +11120 12247 +148723 137635 +59272 55703 +72598 78086 +168107 184053 +158884 174579 +217213 198674 +48061 50373 +112419 114825 +189586 174041 +155598 149279 +87 81 +169004 167785 +85240 77956 +167510 157243 +154164 147398 +128350 123272 +50807 51279 +138065 145371 +62394 63754 +47181 49009 +129974 126972 +171633 188400 +24469 22543 +57704 57864 +14506 15867 +109824 111077 +67437 71312 +2265 2446 +44773 45090 +41181 40221 +13983 14416 +27015 24795 +106855 111155 +60350 57144 +39824 44064 +25455 24163 +2368 2203 +71731 75660 +8293 8920 +56255 55860 +17369 18094 +1862 2029 +185882 194523 +124603 129524 +136030 141742 +78534 75495 +166460 157013 +23323 22628 +24703 23491 +13660 12864 +145727 143293 +102009 94817 +76109 78530 +143239 133561 +31100 34133 +19930 19103 +170663 167656 +12362 11595 +122431 132327 +80902 88046 +82723 83998 +13474 12972 +2768 2823 +44559 41271 +48843 54004 +57936 59593 +149231 136853 +178487 169406 +62929 58855 +195944 181579 +76773 76410 +31994 33951 +150166 158365 +163543 163412 +68245 67495 +136718 134290 +61288 60452 +154892 142849 +98716 99675 +79663 75176 +43062 40377 +64276 64359 +57006 55772 +22486 21197 +140875 128637 +130253 131031 +48926 49722 +41590 41158 +173387 171135 +91685 86940 +95464 87121 +122006 131890 +55855 57526 +100994 95929 +56248 55045 +52819 53195 +165391 172230 +38882 39981 +21362 22149 +138170 140580 +26366 23992 +87588 93616 +53336 55818 +47370 49257 +121156 132867 +36021 38261 +8986 8278 +149587 139812 +76502 84104 +179249 197416 +141491 128888 +198470 196404 +135976 135119 +138407 140015 +98641 97028 +103615 101397 +108152 106508 +170657 165291 +158184 146077 +96330 93980 +172659 170014 +33742 31989 +182147 178221 +38508 39994 +72956 73804 +102737 94627 +139861 141801 +114115 105462 +137898 138376 +195630 199234 +6283 6415 +165432 158005 +76478 70253 +150258 136731 +87682 87848 +45215 49075 +156798 173507 +79528 83952 +47619 52552 +59317 59081 +183482 188471 +209338 192893 +90767 91275 +200739 188519 +75617 74277 +11626 12409 +214706 199832 +23721 21784 +145404 135376 +62538 64660 +22411 22367 +100510 99522 +100173 111206 +57296 52408 +165576 176860 +176814 162533 +157184 162814 +89419 92427 +46786 46803 +152682 157017 +64706 62939 +77036 74985 +139322 150547 +54098 50130 +21048 22952 +20228 20715 +152215 159862 +662 733 +120274 131579 +143650 139108 +124317 117405 +148717 164834 +56917 54036 +197391 186208 +141379 138613 +136651 141921 +122198 124764 +10990 11109 +157169 173878 +126058 135031 +53239 52904 +183267 199283 +33298 35424 +192334 181912 +90137 84086 +86745 86981 +165241 177022 +177464 173716 +180575 181676 +11313 11664 +126095 123364 +152861 161492 +56683 56862 +151013 147201 +3287 3507 +374 347 +4459 4934 +33661 35585 +17444 16530 +172869 169991 +48120 45259 +68160 74161 +42237 41843 +37375 34127 +69814 68669 +192813 192304 +100868 94422 +25311 27716 +96012 106196 +36137 38290 +73115 67646 +93975 100562 +176315 167926 +32784 35560 +20924 22271 +129297 123133 +175954 163375 +62719 68156 +150406 147826 +113240 109990 +205193 194616 +109320 100435 +63913 70972 +145774 135110 +10244 10226 +180275 176363 +23910 25101 +181298 179183 +130320 137898 +28897 30460 +130407 126940 +106853 103056 +60399 57877 +143424 145529 +28265 29037 +11711 10991 +181206 164754 +57412 62669 +81963 77005 +7905 8302 +66741 66988 +106785 116896 +139936 150226 +125947 126728 +63290 69847 +25177 26898 +139223 142621 +144833 155026 +112642 104688 +2343 2556 +18381 18457 +10477 9980 +104390 105600 +16863 17331 +110094 102907 +64075 62800 +108677 111031 +197617 183622 +62634 61441 +67798 65647 +49960 45426 +45679 48893 +134953 137077 +131755 144920 +25644 25334 +126954 118810 +29707 28649 +140171 140003 +72554 80052 +48885 49241 +79955 73274 +21609 22655 +43805 45829 +100992 97137 +139955 131344 +69612 69434 +120953 127214 +84619 91730 +103391 94169 +91199 87607 +123894 129243 +55154 56998 +124581 121426 +46673 43574 +132693 143652 +114142 125458 +147282 162752 +25059 24273 +122129 118540 +163682 163508 +184550 174960 +39261 39483 +12805 12479 +175712 184164 +179441 178749 +142758 130497 +133942 143505 +137161 150324 +51454 55496 +39902 39946 +109698 103939 +110644 108402 +82480 85375 +204451 187801 +97087 104063 +192860 182947 +81544 85016 +1598 1671 +62644 57177 +93099 97031 +79807 78676 +118645 112075 +117155 128525 +48813 46233 +89388 88511 +121507 126387 +83488 88261 +110046 104526 +91555 99244 +99635 92906 +24019 23890 +85123 89554 +30503 28986 +107433 109746 +51758 48496 +36288 40080 +29233 31187 +43133 44777 +175766 181124 +125715 117545 +45979 44522 +87653 95557 +212323 196447 +161998 155769 +123359 115514 +100577 107673 +13550 14521 +65729 60182 +126212 127755 +140245 152080 +126350 114936 +27538 27218 +165968 177326 +197558 187311 +24370 23529 +177424 162678 +207416 199357 +22114 23380 +65328 63811 +1048 1159 +10473 10142 +64061 69051 +104543 112425 +20903 19779 +25277 26879 +89015 81589 +118035 119526 +24249 26210 +200459 186264 +146175 139440 +183950 198064 +166781 158806 +104013 96814 +184866 171124 +138820 141735 +205339 195661 +36663 36172 +2019 1954 +73380 68436 +95008 99500 +152584 167689 +17164 16309 +35042 37740 +88450 93139 +42941 40390 +109529 115522 +112796 111245 +77361 71389 +204508 186543 +163091 174329 +86982 88573 +35449 33758 +146416 140663 +37101 37091 +18535 17072 +53812 58597 +57655 52894 +49314 44899 +115479 120448 +45664 44153 +57306 53804 +78539 83895 +113784 120052 +181460 196510 +178927 174516 +47347 45943 +60488 59899 +176325 183119 +147195 149460 +49725 54866 +94969 87856 +26956 26371 +40892 40945 +4939 4693 +170729 176149 +43556 42793 +4086 4413 +57851 56101 +84370 82074 +159055 163373 +59860 60595 +17327 19137 +57283 61908 +94274 100979 +52793 52823 +86148 91523 +53738 57096 +20958 22361 +4385 4087 +167007 181021 +66915 67167 +147262 142838 +160377 150382 +57388 56414 +207438 198769 +112855 116767 +186406 172318 +156548 167853 +65461 69565 +115204 113438 +180263 199155 +18518 20426 +150192 141676 +15074 14843 +189215 184356 +176256 160849 +195625 179859 +42811 44853 +56711 58291 +86776 92152 +52975 57199 +160404 177927 +147623 154985 +169259 183373 +126455 138728 +176365 161125 +183772 182045 +47064 50298 +14014 15056 +113294 124862 +97620 91244 +189377 193219 +94606 90531 +80180 77433 +94950 97407 +185710 171589 +115699 128391 +163208 169018 +5559 5130 +203029 197814 +179415 188683 +93310 91420 +130961 122824 +166651 178473 +199183 183529 +67374 66677 +200473 182850 +117212 118472 +145407 154437 +55260 57559 +33438 33095 +93480 86170 +138782 133357 +137464 146827 +129547 143923 +115669 112700 +168509 156632 +86329 82453 +104463 97386 +78354 75562 +18862 17385 +159814 151989 +100988 108827 +103293 106165 +36202 39532 +44481 41058 +199342 184447 +92121 95051 +120229 131157 +35312 36558 +35320 35864 +67494 72563 +121377 124485 +85070 79078 +38585 38389 +113461 114448 +151146 142342 +215417 195985 +153611 165738 +77346 78108 +145299 154380 +126191 137710 +104299 95514 +19108 21100 +97957 92851 +112842 107544 +56224 61871 +155982 163759 +152795 152197 +166223 164387 +133604 134557 +136302 143280 +48397 53171 +80997 89053 +157099 146916 +143672 154578 +142904 133401 +160524 165520 +172035 174541 +32860 30992 +159774 146556 +120637 112572 +119954 123178 +104880 105476 +134724 148812 +144935 157663 +89790 87127 +118787 119135 +191220 185700 +1024 1134 +190798 194045 +148298 138474 +140659 132615 +125253 118683 +187855 177611 +115393 114189 +160100 173795 +68547 72911 +142394 146813 +15481 16902 +110382 115471 +106165 96942 +28475 30679 +166099 154863 +180569 196557 +165296 153624 +3130 2985 +116421 106298 +163354 153802 +56850 60259 +188157 194890 +62250 60470 +11174 11547 +139187 126948 +24822 23773 +159730 176585 +185833 178944 +77376 82597 +45718 45713 +8724 8373 +16195 17635 +53082 56621 +160804 151451 +68339 66005 +8886 8087 +171834 159357 +58188 63035 +111023 118110 +58088 56538 +124985 137103 +180480 183358 +180702 174304 +58788 62549 +5119 5527 +15358 15480 +98057 101445 +185210 183704 +194923 197379 +191561 199175 +64485 60046 +43094 42529 +57666 54909 +179417 182101 +107483 103451 +58907 56980 +139758 131429 +132986 131028 +68599 73377 +44546 45697 +88865 87321 +105116 111041 +133510 148275 +17510 18402 +197995 194094 +20742 22499 +36228 33403 +188042 189788 +151576 163957 +98921 107658 +106391 107455 +193086 190203 +117330 117945 +106826 106066 +98101 96286 +170433 164600 +33417 35837 +94441 104223 +149031 164498 +193350 177012 +46192 48065 +126110 139681 +130879 128558 +191079 199036 +121515 131003 +29919 31055 +99506 100831 +170443 178692 +145132 151904 +153932 153709 +23800 22637 +175443 181486 +67620 63706 +20427 21384 +16580 16760 +134909 149506 +95147 101456 +22769 23477 +15131 14652 +35938 37109 +90162 91043 +66229 67608 +187275 172623 +23886 22820 +98542 106605 +688 729 +154401 143136 +93703 96855 +25914 24130 +71869 79789 +111338 105592 +250 256 +183235 169520 +180232 167957 +27106 25338 +159804 154555 +145769 139072 +126575 116568 +16480 16419 +63349 59406 +105614 115380 +166693 178185 +79847 74956 +104488 113896 +22488 24073 +124103 113861 +3227 3301 +118711 118947 +76892 80308 +123251 124339 +95433 98106 +185784 191107 +64118 64230 +13733 12675 +34917 31791 +77642 84150 +81373 84426 +161705 147634 +32323 35013 +179531 193107 +177210 172995 +209893 196610 +144023 159765 +70000 77341 +149842 159921 +75439 80388 +94258 89617 +48546 44159 +106330 104874 +48016 49487 +160763 160775 +60442 65296 +120035 109506 +130963 139911 +60381 58271 +98390 95566 +150270 139781 +86666 89305 +83308 79578 +30165 28068 +102075 103226 +174546 186811 +106136 106963 +54993 60325 +4364 4767 +202353 194286 +187818 182975 +131062 124944 +160345 163505 +63469 66557 +100647 102894 +71270 67340 +198526 198051 +145835 151741 +110015 116169 +160213 176555 +159331 157411 +47165 45453 +84796 84116 +57571 55400 +115117 104666 +151464 140181 +108725 102315 +10617 9706 +98330 102314 +164100 176520 +113360 122438 +20999 23233 +107043 112367 +95099 95203 +6447 6454 +109399 111334 +11108 11137 +26534 28141 +98753 105127 +91735 93884 +94523 102318 +63693 68023 +6942 6878 +45849 43475 +190690 196289 +87576 83612 +7093 6650 +42669 44641 +134071 127296 +102846 97919 +158773 153269 +185537 174793 +10107 10983 +163675 157329 +92161 92642 +157237 144086 +172139 164207 +12688 12809 +120072 132974 +170483 173309 +182236 176267 +145039 157484 +47596 52832 +207981 191200 +1094 1127 +169189 163205 +82483 81050 +96045 92296 +104541 97961 +191941 184683 +93800 90327 +92825 92776 +109616 105714 +189320 187071 +93806 93485 +49232 46494 +24259 23388 +175354 169004 +72078 76875 +186879 175603 +21881 22330 +159688 156456 +9764 10361 +151252 158103 +137820 126044 +136686 129583 +54965 59676 +108214 104616 +128904 141258 +103655 94285 +177759 186544 +26497 27881 +152645 138886 +73906 80914 +39790 36622 +3381 3149 +177489 172557 +156859 168476 +37250 34598 +153724 163307 +58678 64276 +70334 66515 +8691 9091 +131072 122888 +113908 117324 +201866 199270 +170340 188620 +83936 84883 +193929 192287 +83319 78416 +201382 193022 +116707 107169 +97177 105075 +51615 55767 +183756 182836 +149980 145975 +89471 97252 +187994 190601 +49942 48033 +99132 96766 +158243 166411 +53707 54014 +148295 162515 +99720 96398 +533 507 +207467 192219 +51187 52783 +64001 67429 +171159 186112 +192569 176331 +70393 70393 +62364 68847 +81769 78368 +116732 113797 +9102 9931 +100040 102717 +46606 43867 +112040 115083 +10426 11418 +134377 141967 +28206 30637 +76240 81638 +78969 81526 +41687 38861 +119070 118920 +18576 18796 +17471 17287 +124730 133703 +72395 77660 +50733 53692 +55603 51091 +97853 90554 +1942 2001 +141577 132799 +114405 120821 +146173 153227 +57509 57545 +170355 173670 +32783 31141 +162598 148811 +164638 165344 +115069 125168 +36979 38068 +9602 8819 +101692 104429 +191423 191330 +104961 98254 +55086 58215 +205539 198016 +102955 97422 +89100 91767 +26136 25461 +161668 172196 +12834 13071 +139968 154000 +94377 102740 +29218 29980 +9249 8777 +45176 48594 +106136 107559 +19615 18791 +47393 52459 +81970 75920 +254 249 +143474 155581 +57381 58990 +59608 63862 +24664 26049 +131468 130321 +126136 121236 +158666 165965 +146532 158429 +11789 11023 +214155 198572 +50390 46070 +65808 63704 +150358 138141 +68522 72266 +180311 164076 +116961 117733 +180369 174683 +21402 20497 +46785 45957 +112042 113955 +112956 120996 +183659 193130 +96066 96239 +171430 177817 +64266 64653 +30161 27660 +4562 4148 +184690 178040 +33783 32547 +137144 136372 +78151 82872 +40316 38366 +108607 115247 +113707 119211 +164095 171191 +127201 119631 +18966 20850 +45898 43269 +97667 100490 +161478 178172 +47320 48683 +51496 50078 +10452 10464 +38672 39677 +90513 94926 +78355 72604 +102221 113351 +117127 126936 +205865 194444 +126592 117810 +83524 90530 +85990 90682 +170503 188303 +33111 35032 +123642 113649 +44741 44538 +99086 101756 +32497 34517 +33795 31822 +71255 71450 +110510 122161 +76293 82552 +143414 141356 +74739 75143 +180705 172230 +81337 81752 +150822 141592 +115225 126870 +118048 125198 +44393 44568 +16053 15034 +189701 192455 +29467 30740 +116785 117095 +8374 9234 +68147 68291 +162916 150880 +112765 109433 +40923 37501 +116357 116383 +173159 187057 +51814 50129 +131612 125166 +82605 82777 +102597 96707 +110597 108025 +127957 131255 +104740 108311 +53193 51912 +172288 185798 +135244 129664 +90702 88621 +140767 136880 +120785 113046 +108835 111244 +82265 83413 +13582 12515 +96618 92755 +90203 85945 +11103 10742 +35122 33090 +17341 17838 +113346 120637 +115812 105375 +121574 125867 +20411 20198 +22322 23851 +80137 77066 +148123 158388 +196767 179137 +178927 184686 +115751 109212 +180044 178605 +127130 128015 +114360 104715 +51645 53217 +85832 91616 +196677 187884 +210990 195425 +200456 193938 +70318 75154 +124799 113789 +197733 181097 +113722 120080 +45913 44737 +54442 52207 +113930 107767 +72835 72615 +120560 132197 +204699 192380 +175199 192889 +106042 108110 +53352 49393 +33477 34983 +81416 89013 +149983 163363 +151287 164816 +130665 135228 +18219 17164 +172030 181938 +129865 128874 +128396 139219 +5402 5755 +159049 148780 +174631 163998 +41755 37964 +75942 82135 +89962 96369 +184584 189063 +155324 160082 +128747 132046 +199489 196488 +75928 83898 +6328 6810 +30124 28330 +170894 179300 +45062 43523 +175536 183906 +77750 73806 +10606 10078 +145576 138221 +194138 199988 +139449 149048 +66146 67967 +1025 953 +104587 96738 +138935 153407 +119754 114165 +166057 153379 +66428 69001 +45850 49493 +111020 114138 +81093 88353 +130489 128336 +65590 67332 +167373 178994 +95499 105125 +6188 6760 +50191 53170 +36907 40939 +72624 76184 +127442 128459 +104438 108318 +80934 82972 +34075 36959 +213753 196798 +155294 147490 +56079 61576 +115515 109976 +160504 165201 +92013 88497 +13315 13210 +3636 3675 +121628 124955 +207296 193688 +33495 31656 +190838 183546 +51770 51328 +48322 47678 +185149 171314 +64747 60035 +201776 187693 +92264 83877 +67038 70818 +68025 69306 +85932 89944 +19909 21352 +126075 130124 +117244 126946 +186734 185794 +78134 75709 +69307 69100 +2870 2739 +105296 111158 +42928 47219 +30806 34092 +100523 100706 +183667 181321 +159497 147506 +80515 84509 +18110 19869 +135467 145497 +177323 161215 +121302 110714 +40545 44942 +142832 142736 +16773 15351 +124179 112938 +107521 110549 +47312 49441 +194233 198032 +33930 31293 +65827 70736 +165896 168967 +140389 142109 +38974 36588 +77056 75349 +134581 134154 +102220 110920 +42645 42842 +6751 6516 +7999 8187 +87168 88984 +139101 126679 +167787 172471 +38314 40180 +29997 33003 +127107 122329 +35618 33954 +18221 18394 +39109 38010 +34201 37762 +98385 104437 +119783 120157 +62127 67545 +200633 194847 +72397 67879 +187435 194676 +178582 166581 +189251 185445 +122808 118058 +166493 172004 +60092 54870 +92395 96180 +65918 67436 +109295 104887 +83793 84508 +133021 139478 +169872 163985 +152247 152263 +104702 114372 +41103 44926 +89932 96443 +12676 13042 +55975 58402 +126099 120586 +8661 9156 +150958 166436 +170249 165606 +185140 177282 +59705 58240 +146591 141266 +874 857 +81081 83609 +167182 161342 +136021 140539 +121087 117790 +40771 40809 +95183 86789 +116867 109671 +139625 131315 +206179 188217 +134985 139033 +46499 45225 +24836 26351 +207887 199928 +130043 126581 +200104 195871 +115653 126020 +160215 165248 +204258 185807 +187300 171374 +130108 127547 +105312 115221 +80298 86553 +111912 111688 +176633 169276 +120499 117990 +99165 108028 +154277 150183 +116038 107973 +24506 23816 +18863 17244 +100933 95057 +142520 134448 +31739 30272 +54621 54809 +149163 144020 +182001 167471 +164947 182583 +65841 63369 +42809 43912 +1637 1553 +24334 22277 +28995 32001 +199512 191954 +17650 17468 +143674 154600 +180016 186635 +209174 195421 +110952 106866 +164220 171531 +25591 27311 +132033 143456 +178540 180494 +66139 71362 +4076 3756 +35165 37404 +143942 146182 +2091 1930 +148347 141756 +165323 156957 +103452 100520 +191689 187339 +202268 188885 +168556 158774 +92962 101662 +53814 57943 +31192 33829 +170094 171271 +184458 178604 +96010 92394 +60115 65619 +129998 126136 +34300 35631 +156678 147049 +103836 115267 +22075 21245 +130061 138141 +155041 153061 +191434 190287 +74575 78609 +99460 99529 +29094 27607 +99158 106384 +43626 41789 +95204 96157 +164315 173667 +63675 64596 +18129 18896 +6949 6751 +113403 114199 +71558 70055 +82059 75365 +59706 64751 +141910 157418 +17367 19276 +73107 74722 +66268 63173 +121994 133951 +111669 106819 +79359 72693 +199166 186485 +152686 147425 +59829 64963 +98754 108375 +63348 58476 +51337 51462 +110428 102846 +184740 172490 +123035 118705 +6090 6095 +43185 42849 +131104 144988 +102912 104871 +81747 86723 +122866 124242 +145438 140900 +135148 132551 +136199 138329 +95097 100594 +194301 190081 +20843 20968 +72475 67244 +126988 122075 +58139 52960 +90634 94137 +50793 53126 +11125 11233 +44949 45044 +119522 118146 +214218 196952 +70393 68946 +46813 49277 +94262 104681 +36194 34749 +147302 138872 +48474 51140 +94859 96296 +138470 126780 +181806 180499 +101642 112219 +43820 43481 +156933 170565 +98363 96288 +112409 112542 +152807 168236 +127646 133104 +73278 70039 +105063 105782 +78923 81389 +90263 83139 +130165 119910 +20245 19858 +171759 174081 +91581 96171 +152699 147833 +146465 139502 +44609 48614 +69661 75647 +64657 65459 +137141 152014 +156569 146680 +122553 113921 +19775 18612 +15693 17217 +68675 66344 +8574 8926 +79023 75218 +126282 116000 +37041 35013 +132804 144939 +134145 134433 +156345 154637 +6090 6197 +157794 161064 +149328 165806 +49989 46071 +45469 50105 +136570 130686 +153163 147325 +155846 162706 +66344 70318 +31079 31554 +93553 88976 +110081 114657 +16417 16777 +68736 63409 +68665 73248 +74216 81006 +127927 136344 +173846 166388 +60866 59939 +33192 30989 +62533 57733 +38647 38875 +100834 108358 +202630 192478 +109838 120083 +145479 155107 +34993 33075 +145956 159882 +179075 196769 +72638 73202 +175601 183626 +63860 65667 +177441 185380 +160663 152599 +180275 188392 +26522 25670 +118926 116718 +138047 144652 +169948 185892 +42545 46617 +189009 185131 +18877 18486 +3217 3279 +74410 73679 +4631 4512 +51222 50657 +11921 11633 +125759 137537 +158003 151917 +171362 168710 +143845 151185 +169687 181588 +149405 140681 +86458 78982 +20788 21419 +99266 95351 +102955 113098 +134882 123053 +97455 88888 +147759 134883 +156979 154652 +11110 10674 +65687 68588 +105021 108955 +101616 92550 +37165 35955 +123604 115825 +50030 49643 +65809 68907 +29019 31995 +48561 44654 +16958 15659 +159513 148420 +37642 34302 +26863 29059 +178918 182331 +36453 38568 +106398 105369 +29924 27852 +154362 153670 +33634 32645 +87088 93268 +42743 44508 +70965 66113 +3836 4134 +63039 60513 +180833 180801 +27009 25898 +92579 96173 +104889 113820 +111738 104516 +176526 191691 +88273 87511 +209993 195722 +94723 90919 +204758 191734 +207860 189437 +9693 9372 +99647 96806 +77094 77512 +99336 109135 +59020 53931 +78544 81657 +21597 20264 +207172 199960 +170471 156091 +42612 46734 +45016 41990 +98988 96255 +25754 25466 +173207 173392 +69480 67166 +57652 53057 +98388 105215 +75041 69797 +76716 78900 +66593 69306 +195697 187725 +190728 182121 +211859 195864 +69692 64987 +110626 122895 +805 757 +22230 21217 +156451 150962 +139582 149723 +118233 111196 +36019 34419 +58274 59751 +200461 193969 +157722 162730 +58909 60283 +197850 193914 +198464 191931 +87594 80549 +45621 45039 +133037 131656 +30822 33484 +163862 152654 +59304 56208 +134949 132037 +46224 47651 +130071 141406 +65768 70313 +106939 108545 +16002 15015 +45821 44555 +171818 168335 +109731 101605 +154577 150633 +43495 46402 +46078 44064 +145419 139637 +68985 68711 +71518 65324 +45130 48902 +6394 6733 +155198 142661 +13877 13995 +153990 160179 +17904 19173 +131209 134547 +132960 133403 +54070 56100 +117911 109966 +67508 69260 +128279 131603 +144713 136032 +12144 11636 +134896 129042 +127124 126115 +2105 2296 +60553 64028 +203526 188405 +214591 196438 +139343 144070 +114661 117093 +157295 156523 +37881 40559 +48142 49903 +108975 111240 +25607 23830 +181406 194733 +73263 77411 +209279 196826 +44172 43011 +76101 84552 +89360 85465 +146724 153735 +174729 162343 +65891 62067 +74964 71766 +99975 94358 +33671 36706 +87189 95578 +145705 136932 +107602 101161 +150155 157885 +140879 147171 +187802 182556 +41874 44667 +132558 127661 +73078 72943 +149415 157471 +33932 35169 +96410 92367 +110372 102103 +182026 179478 +149357 161100 +141252 135980 +140283 137776 +87178 86391 +130573 142979 +150583 167028 +109817 108297 +45645 44481 +9113 9451 +31210 32132 +175513 178730 +13083 12092 +58575 64640 +88586 89122 +36779 37781 +101142 99259 +117774 109339 +167217 162301 +17147 17798 +28239 27803 +2894 2859 +172197 158191 +46867 51828 +66188 71811 +154584 168894 +117728 118780 +149524 136207 +123609 114148 +129209 141559 +31108 31507 +139454 141698 +171620 184440 +177249 165526 +20823 19209 +34787 34736 +23753 24517 +2069 2230 +114652 116642 +166025 161208 +138437 151065 +58333 53319 +153734 141898 +64900 71858 +58310 56652 +27608 26074 +75218 72341 +179235 190065 +91937 86019 +116935 122707 +130426 124741 +106798 101568 +86428 89897 +180829 177974 +30059 31362 +171394 174247 +104394 110645 +180771 192668 +193897 198560 +12627 12454 +158324 146024 +176716 166268 +98181 95326 +98121 107830 +137480 146958 +119577 112357 +53028 55139 +8996 9677 +197339 184250 +146092 153920 +9292 9921 +203444 189655 +183554 175564 +22682 21264 +166481 177076 +89626 87039 +107476 104364 +33392 31474 +72199 79585 +165130 164838 +11615 10957 +35645 37599 +118718 124377 +39407 39912 +19322 17965 +136720 142183 +183098 186325 +207989 193628 +81680 89297 +72509 67702 +105798 110265 +156616 171538 +181407 183435 +33291 35025 +102287 113619 +55033 61076 +2090 1973 +170825 162455 +81450 88474 +111326 105447 +53966 53621 +81017 88513 +159411 167409 +168725 182921 +84798 77305 +83755 88036 +58159 59043 +55483 59954 +187699 181242 +149067 148651 +153561 149542 +185360 195669 +134150 132666 +29166 31647 +34990 36570 +59333 59421 +31915 30663 +191400 176417 +78598 72201 +127903 124338 +123312 128632 +16342 14892 +162961 170022 +31675 31028 +185451 186668 +42771 40917 +123579 123088 +102260 112380 +105823 101840 +160143 160908 +176010 174094 +112731 116127 +73036 70807 +125104 130010 +47592 44433 +181279 194348 +32579 35521 +151792 166243 +147661 161527 +71981 72299 +145314 157526 +64708 70819 +122602 115780 +87150 92381 +70799 69866 +27257 25138 +76850 72552 +166419 153344 +75173 77081 +24224 24706 +23749 23422 +86628 87818 +103621 100169 +22629 22941 +17248 16328 +129144 117867 +12130 12204 +169814 158249 +108782 115574 +93023 90829 +167598 157693 +17999 17062 +13804 15198 +29672 30101 +54160 58880 +206001 194731 +19058 20802 +6669 6881 +124392 115844 +72620 80366 +4276 4687 +8798 8969 +163110 154722 +112794 124091 +121946 117786 +69504 71647 +54717 54652 +136650 136441 +146374 158370 +50 49 +170364 168897 +194214 183083 +132543 124819 +128383 137156 +107677 117029 +18038 17898 +12978 12223 +143828 151896 +29013 29739 +8958 9069 +100592 93668 +173446 184232 +18397 19036 +35868 35330 +3135 3178 +121150 125800 +112828 117007 +169085 155604 +170983 159523 +101877 102215 +162683 152993 +146627 146277 +93988 99980 +30057 33324 +101727 92732 +11134 11282 +125678 131976 +144725 156603 +182444 187473 +164767 157396 +83912 86633 +3475 3343 +41015 45087 +24417 22907 +137092 151400 +175425 189055 +12689 12140 +185638 169011 +35427 34730 +14805 14746 +117788 112008 +34985 35200 +107140 113595 +107062 97773 +43785 40591 +179480 186115 +152884 146643 +21955 22009 +116601 113381 +76143 77364 +172960 189270 +32508 35455 +6073 6265 +106073 105319 +89883 84173 +71496 67958 +148272 136836 +173472 161226 +10222 10095 +158653 163728 +68936 64905 +106673 117858 +20804 22813 +200322 185467 +187622 194964 +89020 86995 +76534 73375 +21498 22940 +117010 120061 +15672 14551 +131759 135209 +7384 7891 +73630 77284 +58585 57539 +138681 148058 +71092 69115 +93331 101812 +30037 29383 +91701 85817 +78469 82728 +1980 1889 +143260 155372 +96459 88568 +65960 62440 +51681 53228 +29466 27413 +201843 189683 +118470 113669 +95538 103003 +13418 14400 +46061 50159 +119628 127935 +151759 143747 +17842 19268 +176173 180573 +104318 103828 +182062 166592 +129018 122067 +48840 54102 +101333 103802 +12572 13369 +27002 29623 +150769 154270 +136828 148897 +51923 53726 +124585 120725 +188429 187298 +38897 38066 +46715 50155 +70276 76463 +195586 181628 +161621 158356 +55998 56868 +135228 143579 +44752 42796 +109979 121636 +129576 117849 +71499 70607 +4185 4062 +186291 170170 +114428 115873 +103931 95831 +178888 176680 +111464 114920 +106991 110624 +53192 57370 +48097 51658 +115526 118523 +187129 178818 +34617 33050 +114893 115182 +184089 174074 +79249 77247 +25449 24626 +166327 174887 +129042 134820 +28712 30999 +98375 96152 +79087 76467 +161237 167028 +56379 62421 +142357 139098 +20417 20987 +99244 99678 +116080 113358 +172664 165986 +120771 119248 +23657 21520 +76837 73313 +43127 42356 +216009 198509 +13063 13236 +164529 152117 +62923 60780 +201611 188025 +142411 137130 +144548 136959 +189907 181251 +8567 8579 +29808 32656 +74442 73404 +163478 173705 +6552 7046 +168403 167356 +85654 85808 +154879 171241 +28182 28196 +86287 82173 +33470 31855 +102995 101161 +44392 42157 +130061 119775 +11455 11602 +100506 98473 +31787 29463 +67238 73573 +80680 78271 +94553 104673 +51102 49604 +66706 62415 +81534 79267 +108083 100901 +56556 61889 +78921 75476 +135222 142136 +128502 142178 +39920 41987 +45651 42534 +116991 106754 +129640 123296 +108602 109033 +172521 170866 +122101 134283 +174536 191807 +123338 117759 +100979 109407 +103124 104044 +166136 160956 +149072 153847 +150314 148492 +24600 23813 +184102 192939 +35399 38895 +23613 25620 +105646 104642 +48973 47035 +18404 20271 +103047 102475 +152298 145174 +75764 69431 +14526 14121 +91749 100287 +171930 159168 +24986 25665 +97842 105657 +113262 114361 +167532 171594 +3278 3543 +87129 81445 +36856 37820 +57954 64326 +127756 118288 +68530 73116 +9337 8642 +71333 65170 +76714 79837 +32639 34488 +42875 39108 +194964 187731 +160173 154634 +104390 98557 +74933 79536 +46102 47034 +147962 147772 +81814 82905 +60203 63538 +141773 140164 +52251 50290 +96553 97828 +165784 154605 +172532 163635 +47166 43973 +190613 198623 +105242 110401 +184191 179352 +165016 158569 +142016 154167 +189029 183876 +38734 41290 +178750 179180 +41865 43520 +195515 184395 +53781 49326 +60171 56948 +67306 62267 +42354 43616 +144418 150638 +27272 27395 +147199 143186 +17935 18570 +9474 8964 +160196 166516 +128322 118297 +22227 23626 +119006 118766 +103910 111228 +23242 24077 +107883 102746 +57901 55352 +197777 193963 +60433 64918 +130070 141614 +75923 79479 +164642 181035 +67829 69574 +140897 156468 +72037 66314 +70018 67197 +56346 58712 +127549 128021 +10886 10521 +164475 152576 +98320 92468 +47331 48947 +48861 53592 +59349 63212 +117993 114663 +102790 101291 +86679 91906 +42688 46416 +59994 66477 +26748 28626 +144960 134367 +109985 104665 +50649 51369 +183505 169722 +73901 70336 +82619 86541 +56742 54249 +206267 195947 +109764 107264 +20414 22217 +178165 184420 +121801 117932 +116396 111362 +4829 4872 +165429 156541 +61253 67193 +182340 196791 +193661 195229 +133443 147903 +170457 177932 +155127 164183 +3945 3828 +69309 72544 +90252 90326 +104196 114340 +126990 124183 +180565 167872 +152647 162628 +145118 142444 +67500 67301 +195162 186921 +177075 171708 +6472 6918 +188997 198683 +29422 29710 +106365 103583 +125473 124241 +171053 177548 +191083 188301 +65307 59846 +12543 12473 +134830 144874 +86406 95599 +78762 85639 +60993 67444 +34405 33725 +95873 87333 +28964 27120 +21721 22271 +196421 198248 +46844 47050 +20801 19912 +188246 199843 +57762 62568 +68229 64485 +909 978 +48017 45555 +173294 158294 +17923 17829 +130471 127946 +1957 1933 +131047 120418 +85136 77669 +178827 174567 +196798 198678 +193950 196439 +77307 75559 +34792 38618 +60493 58496 +126633 117020 +141212 146970 +167431 161163 +146692 153862 +34659 31919 +64327 66710 +201656 186592 +171352 180140 +42303 40489 +198061 192157 +71972 78648 +146547 149953 +34674 37886 +50822 55898 +48232 50729 +160024 151134 +112511 115451 +143282 147490 +37488 35655 +44102 40293 +20515 19784 +30498 32375 +96335 88222 +78106 79236 +129448 123110 +171877 167553 +162949 165684 +170881 185394 +143482 133616 +118120 121877 +96117 95626 +69973 74607 +19197 18715 +100297 96112 +22193 22618 +117347 127493 +120562 111607 +177911 169467 +51374 49111 +65521 62731 +187943 198765 +151020 149766 +42251 40242 +43777 43678 +57049 59456 +178897 175246 +166779 154768 +151086 167591 +31973 33614 +14832 13880 +66566 61974 +9280 9306 +81968 75982 +142167 135701 +129212 128928 +8511 8050 +35987 39506 +58177 62623 +23704 21699 +134730 141048 +7414 6852 +148353 150840 +189661 191824 +54640 52795 +121250 131178 +141067 154991 +30635 32530 +100298 91223 +56812 59619 +132979 124411 +144035 136396 +175575 187824 +163706 169001 +205508 198847 +171836 179197 +101275 112117 +43487 42382 +136155 142855 +124090 133853 +164373 179871 +105270 103745 +129714 138311 +158787 147295 +93132 92465 +17133 19016 +87730 81952 +24572 26799 +202020 186295 +106066 107461 +201599 185756 +15923 17459 +144462 152393 +158933 150515 +164310 156079 +175368 164300 +99057 96391 +196078 197032 +186564 193718 +186294 176275 +125791 137051 +54244 53458 +121463 133561 +135861 136926 +17870 18492 +139992 153660 +164832 158698 +144073 159098 +69542 67879 +36623 37896 +50689 52836 +165779 175280 +150373 137766 +49210 48307 +74007 68847 +15066 16514 +22179 22859 +118193 119510 +185016 195960 +85356 79148 +83409 84530 +141010 154656 +185569 174619 +180579 165221 +129716 140868 +145774 135327 +140199 139355 +52454 48029 +73741 77937 +88591 83190 +125029 116069 +155166 155007 +14012 14258 +156507 152486 +210859 198419 +164112 171054 +10618 10319 +150752 157895 +85683 84324 +197844 185225 +119731 124820 +172891 161293 +110537 115142 +75826 74408 +78223 82651 +157734 149381 +141559 137999 +33162 31710 +146245 161799 +186603 180119 +195444 188669 +92577 91511 +53601 57988 +95225 87491 +13037 12154 +53903 57465 +175004 168010 +35355 36006 +191761 196379 +170305 159396 +100485 107161 +60017 63732 +79713 82398 +97339 91636 +11712 10876 +81827 79676 +143595 130921 +172913 188635 +178728 186248 +97907 102889 +75941 76112 +9444 10185 +63482 66267 +37400 36862 +155677 151373 +130046 128166 +164178 178271 +149348 141526 +75729 77383 +115335 108116 +141761 139334 +94242 94571 +182226 174285 +31789 32431 +60984 65997 +47160 47117 +80652 82714 +79933 78734 +85656 80955 +143867 155368 +7426 8144 +107329 116033 +155567 171744 +199045 191937 +50922 50623 +204186 191378 +168387 167704 +126778 125239 +77139 78685 +161459 168390 +144994 145864 +58470 61059 +193803 178636 +35608 39387 +195931 198621 +170938 164666 +72189 77849 +111301 113929 +97115 92305 +132105 128391 +38123 37880 +36781 35587 +94831 96487 +145274 146804 +8863 9291 +50918 46581 +38535 40300 +102785 105567 +88902 95322 +8689 8517 +124531 126966 +84813 84742 +108364 115738 +118987 127571 +12513 12518 +148670 143230 +26820 24616 +163658 171322 +145654 134311 +198282 186549 +9070 8589 +128680 122767 +15782 14766 +46628 45813 +75381 81209 +184921 176607 +133013 128698 +92675 92834 +85198 77833 +57697 59442 +108372 99795 +179046 184696 +28549 29762 +181709 169100 +36813 34892 +132856 126287 +137978 135061 +123910 116776 +31796 29954 +178364 181849 +11402 12443 +190539 174909 +161627 159004 +202706 184352 +147467 153497 +71722 73659 +146034 153227 +27940 27146 +162471 169722 +48640 48332 +128844 143113 +89724 97239 +154264 144921 +89665 90069 +13540 13915 +54013 53983 +25306 23926 +5703 5876 +28282 26449 +113781 107925 +99175 91837 +127544 130817 +200070 192066 +195758 196424 +151111 150085 +42682 41103 +122185 117203 +1596 1695 +147672 142348 +135690 135273 +73081 78766 +102039 112602 +195349 184253 +125160 130135 +6217 6540 +124049 120150 +127359 134827 +40737 38424 +5343 4974 +5119 4806 +34153 35669 +160644 175847 +79238 72605 +95129 92604 +24127 23714 +215667 197497 +77567 81647 +123126 113760 +27165 25572 +167415 160635 +98133 93187 +14584 14453 +135654 131671 +77153 75093 +106442 103745 +132947 139224 +16061 15584 +178345 179371 +22230 23964 +79275 79938 +21499 21136 +84078 93144 +55989 61073 +27755 26371 +90205 84639 +98142 98867 +54590 55656 +2595 2375 +192011 190707 +130812 144779 +182878 168623 +143449 144594 +193085 181209 +141281 155372 +196060 195972 +175400 178629 +83851 90952 +59918 60506 +82300 86729 +39224 36248 +200859 196899 +48407 47443 +164693 166127 +166885 185312 +81980 79861 +121375 119247 +51741 47150 +133411 125832 +86333 80948 +156424 159297 +170046 181384 +187367 185177 +112278 117888 +52051 56916 +95006 101003 +140650 156084 +144184 136354 +61935 60976 +114461 114509 +14243 13267 +162452 164623 +137199 147060 +30369 30128 +150112 163214 +52489 55205 +157989 167931 +148662 153437 +136022 124754 +142720 149674 +40013 38617 +130915 141258 +39676 37929 +171905 175762 +165041 175197 +134335 128438 +207895 199478 +11695 10935 +79605 85391 +193575 197481 +109624 109943 +96890 97184 +198657 196272 +168263 158135 +117435 112515 +128339 127228 +1530 1662 +148432 150075 +65899 71500 +134186 123430 +184131 174383 +14034 15134 +128921 138396 +186370 176544 +185896 192690 +67322 73935 +131735 139545 +86951 79449 +81614 74547 +46199 42697 +176441 189186 +158975 147177 +9765 9302 +104600 104594 +127338 117680 +126377 116818 +91303 86073 +60706 55608 +120975 132376 +168186 183614 +78160 82548 +54232 52692 +204420 191814 +96306 88069 +68188 74393 +103864 100360 +13719 14241 +5339 5478 +182751 194870 +58553 64642 +102036 98923 +25667 23562 +126651 115983 +170160 155321 +77110 85248 +10389 10630 +80559 87462 +73312 67308 +44533 48467 +148470 155223 +115641 107765 +191515 198504 +136303 137142 +393 421 +127274 132912 +58939 56320 +177672 170128 +96712 101186 +8608 8326 +30267 32724 +4136 4582 +163368 169322 +95518 98270 +184554 176845 +94634 96660 +151716 150339 +31159 29724 +21599 23132 +165490 177107 +86132 89692 +53465 55003 +127262 125312 +149050 164659 +49944 45999 +49538 46321 +10293 9534 +168401 156383 +69540 68192 +166151 166320 +45707 50153 +53085 49245 +36746 36989 +164555 179361 +77927 75865 +9299 9869 +4645 4925 +36266 33800 +7093 7413 +200912 188135 +171936 184323 +141524 147301 +163267 177259 +31158 28479 +119987 120795 +204792 195759 +77827 83572 +142551 156674 +123518 121017 +194088 188120 +91431 85395 +47663 52280 +96541 102078 +71562 77198 +172667 172564 +51074 54658 +127034 122100 +187064 194229 +76649 78031 +192516 193498 +135728 148175 +18315 16815 +130916 144803 +129708 142935 +12479 13483 +29589 30038 +84269 87805 +46186 48232 +113227 103890 +196147 190718 +29392 31377 +112461 117974 +185388 198453 +50654 47350 +29112 30877 +181290 198788 +132521 140528 +64210 65541 +23683 23146 +194264 196656 +2836 3080 +165708 172078 +155597 172300 +39635 39857 +124664 127213 +63661 66350 +189442 184351 +67635 65208 +162684 168698 +47069 43194 +166400 172297 +132020 141457 +47125 43826 +61693 59012 +203137 185789 +200808 188129 +9244 8770 +176064 180853 +68081 63092 +125625 138151 +147298 155268 +168507 176113 +124047 117235 +36381 36348 +156648 156727 +164291 155480 +44362 40393 +100309 99285 +167191 174857 +84730 80768 +41989 40463 +60549 57853 +185496 192847 +50540 47678 +98068 97512 +28760 27933 +162911 158281 +95879 88284 +111706 120832 +67530 73590 +164010 153185 +81448 76065 +128668 124239 +135566 134179 +151282 144874 +43591 43470 +121570 122389 +79011 81946 +106265 103266 +187535 188253 +23843 25821 +107105 108713 +87503 91762 +173753 188354 +45097 42491 +161524 147386 +140865 132074 +99040 92396 +86706 91408 +83430 82321 +116527 109768 +39188 41666 +58006 52994 +59333 58122 +133162 127343 +119588 124199 +190514 174534 +196376 184350 +212905 197874 +114410 110072 +194195 192856 +141486 145052 +128682 131400 +20479 19594 +84637 78847 +160102 167793 +46019 45206 +146554 154734 +198865 190220 +1216 1251 +133987 125675 +111468 122863 +86324 78617 +52376 54031 +89513 97021 +145 145 +51946 51595 +71708 68784 +119677 119534 +168894 176209 +77442 80145 +2635 2905 +108742 119371 +18713 19817 +49553 50596 +75322 75831 +118817 122696 +97599 90058 +193790 179079 +127740 121233 +16261 15239 +190048 194913 +157529 164871 +119949 112586 +70746 72784 +91573 98260 +163628 177914 +71086 77403 +185231 184984 +34253 36676 +156149 171969 +143547 158171 +169194 166780 +124294 115403 +152172 156743 +69208 71289 +178307 172868 +133430 130685 +182717 187073 +144552 152381 +61326 56930 +156084 166120 +41576 39853 +131484 121804 +5235 5426 +62569 62677 +210428 198933 +90257 82659 +56001 61434 +140802 139782 +63968 62219 +163983 163161 +125960 137960 +187391 182392 +124828 132524 +114064 125727 +187493 170904 +2262 2400 +146780 161823 +113148 119360 +144 142 +67491 70512 +142811 143509 +173388 183139 +86443 80501 +10171 10000 +2222 2184 +91860 91718 +78370 75560 +65178 70502 +8145 7933 +207617 195778 +85583 94439 +59810 62545 +179122 170820 +150410 148747 +98388 105886 +30085 30631 +67329 64756 +107754 103919 +105689 107300 +48708 51772 +74545 69042 +16880 17044 +185495 198199 +176417 192476 +84286 83752 +35494 37564 +26505 28674 +194 206 +203495 195087 +170015 155265 +122165 124568 +42813 40080 +170697 160103 +189961 189531 +85198 88568 +143114 135583 +79269 77820 +161288 160471 +85904 90249 +62027 60846 +162568 164513 +128774 122975 +93285 91676 +149497 141675 +25865 24949 +122105 120054 +179477 172463 +184838 174143 +158276 159266 +165817 176826 +85003 83430 +72598 71564 +56985 62810 +166861 167650 +180463 186322 +80668 80303 +216730 199963 +119986 113600 +136264 143403 +35681 33213 +131819 126314 +173351 176062 +94421 95895 +2486 2631 +153714 144345 +75693 80290 +160748 172451 +18445 17368 +104657 116034 +69938 74827 +56150 58118 +82556 78579 +130810 142347 +157696 168627 +158264 145443 +185847 181079 +24136 26657 +69771 67309 +6555 6532 +86403 79932 +40256 39807 +141757 150757 +162715 161697 +101799 98709 +49420 50854 +91348 89317 +33483 37081 +114909 114702 +120839 111780 +23722 25996 +158029 150198 +133207 133646 +122821 120975 +201143 195158 +72549 66795 +57558 63219 +63800 63241 +59970 56281 +20665 19862 +177748 173722 +41775 40123 +26099 24131 +113463 110912 +51806 55509 +110328 109659 +109864 100511 +129586 126745 +3687 3381 +45381 50216 +74700 69519 +190169 194878 +74292 73599 +179579 195050 +5159 5584 +167516 168245 +84521 79160 +33776 32308 +119453 114107 +62912 57773 +148113 160348 +21993 21924 +135339 136959 +48534 48833 +48314 47264 +163269 165087 +103107 114346 +47606 52595 +52849 52725 +116305 125271 +28785 28255 +98984 93106 +2329 2182 +22018 22022 +37116 35231 +109646 105302 +113512 121462 +49531 54002 +85476 80194 +147065 135905 +94252 90852 +31213 31529 +196532 179964 +69501 69181 +77387 74920 +73914 70276 +149736 142810 +131432 127234 +123718 133973 +164686 167717 +140392 138180 +73195 74478 +67593 61623 +112615 121018 +87479 85755 +103240 105325 +185972 174292 +154014 170618 +25039 24153 +18609 17104 +175084 160429 +16534 15652 +51162 52565 +70713 66455 +32464 34491 +134923 145541 +70794 70590 +180929 182889 +136582 150964 +139170 138864 +152274 143677 +84783 79513 +108787 107397 +143765 138245 +19120 20181 +48184 52768 +44409 40406 +118244 112620 +154214 162084 +58243 61031 +43501 42571 +1223 1305 +147343 162593 +104742 100156 +187750 184832 +20485 19591 +42773 46621 +110731 104281 +53784 50442 +6751 6527 +180822 178884 +115097 112994 +180753 172090 +72456 67920 +176178 168603 +154521 152677 +44841 48090 +38733 38613 +165504 182849 +63284 62745 +75718 78959 +93077 98484 +74625 69296 +1837 1953 +146511 153079 +170764 188763 +98260 99578 +9426 9096 +146124 160426 +34129 36291 +10456 10510 +197530 192133 +140152 145979 +126286 121455 +197129 192434 +116260 106358 +63202 60246 +139052 152875 +130114 141256 +172376 174054 +15759 15201 +138632 127758 +68027 71499 +171282 174856 +138671 142460 +39567 41018 +103548 107152 +208184 198587 +65952 62979 +151478 162009 +112850 103816 +8537 8646 +73589 72968 +36662 34399 +92155 83834 +170986 185946 +193209 176987 +180836 196876 +144308 133003 +131261 130325 +172947 178180 +116285 111529 +34248 35575 +157748 150587 +50516 55557 +7706 8455 +34429 35798 +127557 116797 +15133 15194 +106268 107461 +190098 187610 +153627 166451 +30585 30906 +164932 180809 +67077 66829 +129191 134115 +129798 124245 +171446 167299 +121728 120597 +70013 69753 +182863 176789 +89967 99759 +24620 24498 +130596 132623 +148813 157919 +182549 170321 +66760 72252 +108648 109540 +45243 42769 +124911 118136 +17359 18535 +96116 96806 +83455 77699 +65173 69757 +175712 174400 +126349 117738 +69585 65352 +38186 36803 +28315 28398 +37653 37232 +101133 92523 +68184 66038 +84898 86900 +37316 38177 +177125 162036 +175796 192782 +159996 152875 +97842 104850 +20000 18915 +2209 2251 +80411 84042 +53311 55169 +129111 121713 +21281 22391 +135176 125920 +106998 118484 +83813 79187 +78602 74153 +26839 25621 +155738 172127 +147532 163192 +63525 67134 +198044 198767 +69640 71004 +98775 93704 +143203 134368 +33675 32136 +27073 26418 +112620 119012 +63978 64769 +37785 39770 +6629 7216 +42783 39979 +83323 75870 +14598 16117 +144857 139664 +56933 52464 +105836 100541 +103317 97605 +178973 191479 +125152 127366 +69645 65265 +45401 49102 +120992 110129 +197422 190454 +90014 86483 +47196 50033 +101192 99895 +65465 69253 +1805 1864 +109081 109031 +76276 76906 +8673 9393 +51979 56639 +154070 143938 +122031 133398 +74107 76018 +35843 34993 +183101 180336 +133711 144626 +27847 29371 +12203 11233 +60801 56057 +159885 171804 +76517 72375 +36408 35356 +133525 138622 +22110 21984 +72454 77390 +78173 81592 +132607 142074 +84438 79919 +76261 77151 +28145 31190 +3311 3202 +61669 68137 +50836 51334 +146959 156065 +110133 106950 +133346 143957 +104902 103509 +15262 14157 +78308 84047 +207262 196837 +160964 170908 +20331 22107 +118852 124225 +19709 18229 +185658 190306 +101129 96466 +40510 42584 +182719 184843 +175827 187179 +18450 19781 +85903 80876 +125454 124182 +142853 151858 +184834 187985 +86878 87535 +44930 49264 +191285 198893 +79029 75997 +172858 182699 +126782 121693 +150784 165902 +203386 196569 +62633 67078 +41628 43850 +164833 150654 +9181 9409 +202741 185791 +139225 136529 +205130 190498 +154586 160282 +176760 169392 +198038 182578 +110638 104856 +129752 120881 +15411 16459 +38070 40281 +54997 57016 +27386 27616 +177164 185631 +159153 164124 +52197 57108 +27508 28298 +163009 172499 +156294 153787 +39719 40954 +83762 83420 +117147 120039 +211267 198368 +187678 190510 +134564 124492 +130988 122551 +1426 1503 +106132 110259 +42418 45723 +41836 43065 +19931 19508 +109673 116801 +139024 136852 +198124 187387 +6928 7625 +2217 2253 +114160 103820 +75977 70632 +59122 55791 +106916 105094 +51465 47586 +122986 134594 +178714 172449 +11731 12179 +33490 35710 +175491 179558 +66230 69702 +10991 10072 +68595 74899 +22181 21133 +63575 63470 +177927 175599 +136609 129630 +38451 40711 +102469 96786 +81298 85553 +193638 181286 +56989 60863 +188888 177621 +124378 134893 +73335 73276 +90502 89020 +115287 120519 +130014 122669 +83115 89402 +86357 95195 +122159 125854 +112190 124597 +73223 81030 +103030 99031 +148463 155132 +173027 160517 +26291 24205 +198069 196484 +88641 81646 +77665 86292 +78132 73418 +103270 96141 +142161 144553 +136792 128340 +193407 191102 +153475 146171 +135827 141197 +187895 176371 +104109 95799 +139328 148590 +30335 29539 +173442 176213 +67964 63179 +58769 55331 +27386 25888 +24972 26780 +164772 179483 +163795 175726 +162199 147490 +181186 198882 +35339 32851 +80473 80639 +150503 163759 +64403 62012 +105885 101158 +78177 77663 +163448 156923 +140621 131446 +187449 191891 +26821 26993 +182885 180896 +129956 123290 +42206 44132 +141604 129075 +61301 62117 +12490 12395 +16304 16876 +58145 62460 +141983 137273 +180166 179684 +87826 89926 +52038 51389 +33435 35254 +109273 120059 +51255 51354 +166599 184258 +36538 36384 +98709 100642 +183749 198105 +128382 117104 +161198 157157 +39453 36162 +146937 140094 +173958 166790 +139611 135965 +64996 62463 +181305 181196 +141278 151134 +78861 79305 +62588 66105 +118203 124628 +33591 33898 +69091 72470 +34039 35847 +8756 9006 +69798 66873 +202065 186393 +40363 44219 +32473 35644 +152646 153969 +10003 10577 +154785 156258 +166924 152620 +34388 38036 +73227 73129 +48722 48259 +525 564 +49705 50685 +174226 168437 +164659 162333 +191885 182614 +19883 20386 +93731 103538 +7797 7659 +38849 36123 +71016 75537 +71748 71752 +182077 180449 +38583 37082 +63662 66228 +28950 26505 +83673 86125 +118355 130159 +71587 71055 +122660 127345 +72749 66168 +122430 115846 +4181 3966 +37439 37541 +93246 103269 +15216 14799 +71941 65530 +149578 163958 +2237 2382 +133921 143817 +110518 118354 +72925 75293 +168742 162956 +150088 148153 +4761 4596 +145255 138174 +163478 179629 +103580 112369 +24045 25443 +165097 178919 +153897 145853 +16759 15820 +191294 182143 +129845 144079 +125859 127296 +193720 176621 +6629 7106 +158824 153049 +42742 44851 +99067 105477 +65538 70591 +157570 168272 +197482 197584 +115914 115276 +6741 6371 +122097 112042 +4193 4296 +48784 47941 +98826 100086 +130560 132295 +117841 116552 +26960 27452 +147339 151896 +25009 22897 +76280 70967 +53207 48712 +126441 119686 +50335 46172 +153393 140276 +145444 135115 +75644 78548 +72364 76708 +44827 41305 +68362 63470 +35928 38833 +94433 102227 +27539 25084 +174634 165224 +17625 17768 +102754 98906 +66349 71019 +95678 95926 +77181 80603 +23774 23764 +120981 124461 +12943 13217 +32174 30024 +164561 155528 +71961 71493 +173074 169917 +174157 170502 +203709 192422 +127477 130672 +106616 100006 +15539 14982 +73312 74886 +165229 155683 +99177 92226 +86100 91988 +40273 43310 +13748 13647 +87759 80387 +197233 180820 +147845 143434 +134059 143135 +71830 77796 +93048 85639 +93053 91700 +15479 17014 +179040 195241 +11899 11781 +120466 128235 +140130 150644 +9579 8865 +98395 108355 +83246 87581 +202658 191151 +32864 30757 +121148 128268 +44189 41119 +1779 1788 +91868 93720 +151357 153097 +144479 160305 +14295 14053 +137369 151590 +183113 187707 +62790 65788 +127782 136241 +25018 27719 +124782 125757 +157969 165653 +102792 99681 +142061 145722 +110630 103812 +49517 48825 +34165 32303 +92909 102476 +106763 101344 +168684 177745 +66411 61262 +74045 75281 +146563 136570 +73516 73645 +28159 30767 +31904 30951 +186716 197910 +91876 98186 +65347 67256 +57939 63863 +124693 130256 +98430 100430 +125907 129868 +176977 163573 +30885 32224 +8787 8200 +159523 160903 +79766 83485 +184045 193624 +13659 12786 +104412 97601 +140833 143350 +175609 188386 +131364 123889 +104569 99656 +185121 184592 +41716 45188 +72150 79633 +172867 165800 +209243 191111 +72143 70621 +131922 125322 +52902 50468 +70303 75967 +93760 92263 +92347 100416 +151885 143163 +198725 199975 +77994 80565 +86812 87228 +30448 28390 +95094 101432 +5046 4724 +180155 194678 +558 598 +52092 51893 +160396 162923 +146332 138252 +81061 87096 +211107 196587 +30842 30460 +19695 20745 +97841 107890 +67384 62704 +95112 89059 +134361 130977 +42451 39653 +169053 167140 +22148 20723 +34101 35185 +73981 73514 +12406 12276 +142753 144094 +45132 46209 +28861 31063 +136020 126484 +136932 135915 +37083 39747 +32423 31673 +121613 131266 +192136 179839 +90172 86355 +77532 75161 +24776 26824 +81082 80215 +110572 103862 +9172 8569 +144373 137848 +147094 139082 +97851 90525 +176098 175830 +105310 99823 +2327 2568 +102729 112865 +172820 157605 +34790 34004 +74189 75487 +77088 84358 +218870 199511 +87462 93591 +94521 94514 +99029 95737 +162162 160598 +186460 190900 +92702 98242 +111207 120788 +104418 111752 +34236 34864 +43328 44071 +13780 14935 +145165 134089 +125509 131352 +69371 69141 +121845 133870 +19346 21170 +56255 61382 +122677 117978 +41474 37807 +110934 112342 +86218 95197 +44435 48860 +179168 191130 +29660 32577 +89728 89482 +83490 89692 +132319 146713 +105202 100537 +94784 100931 +56935 54391 +109814 117183 +117537 112703 +177380 178569 +192283 178209 +9509 8907 +12574 13452 +33654 36903 +90722 84458 +64013 70627 +27975 28438 +129686 128242 +7332 7867 +131952 130907 +126842 136842 +129613 131592 +48491 51287 +21895 21486 +95141 102865 +149987 140499 +68795 74012 +196461 185409 +68215 66765 +13747 12677 +159935 150081 +1883 2084 +54020 56218 +159789 166748 +199630 190423 +138108 150226 +17282 18447 +138202 133661 +77735 79114 +69173 71405 +46598 51580 +7689 8217 +131244 137631 +116597 118085 +93891 92972 +45530 46636 +106518 99957 +124782 138448 +91774 92642 +145574 145787 +156433 151878 +186116 191280 +215319 196829 +57279 60019 +134269 125285 +26389 28338 +144610 143957 +16740 15311 +116071 113790 +162381 167499 +42015 42557 +70675 72720 +143459 151130 +140253 129499 +112775 117569 +9565 9796 +121612 116442 +174317 165099 +152284 154759 +98185 108801 +30584 28282 +159278 176368 +19494 20016 +91699 99048 +18017 17485 +37064 39751 +147405 149653 +200308 187812 +146815 144068 +184772 186169 +195115 196364 +147624 155370 +7714 7529 +78131 82550 +109176 103330 +127842 135033 +140944 140382 +99908 107675 +60135 56159 +136485 137881 +42942 46944 +177090 193326 +67978 69639 +191183 199197 +168269 162759 +146387 146078 +169254 174230 +155458 147619 +101802 108613 +41294 40965 +82319 86465 +190362 180368 +57157 53476 +48527 45479 +58913 64121 +193332 178646 +20545 20619 +97003 99122 +87415 91368 +154864 161007 +151969 147319 +115967 114814 +160840 171507 +71622 71968 +131395 122819 +183071 196492 +106531 110840 +152256 160825 +94244 104674 +48516 46345 +162809 178127 +169519 170130 +37636 36641 +172222 171593 +82885 82187 +42047 41485 +88303 84328 +115183 108430 +145329 156344 +171474 190296 +198474 191287 +156098 151424 +76315 83292 +78644 87081 +14477 14187 +175165 162035 +169813 155767 +146673 137282 +91958 92792 +46405 51174 +24988 23940 +54340 59116 +71263 69549 +89986 89920 +1790 1976 +128968 130621 +8458 8373 +121794 123475 +24943 24576 +83085 79252 +163892 164626 +187321 193307 +158925 168964 +62411 61785 +8609 8802 +135321 143357 +62776 67304 +199238 182272 +170629 166620 +41090 39626 +169701 155975 +13519 13828 +66557 62929 +187736 199227 +148180 137784 +177482 179629 +32110 34605 +165488 170548 +213075 194187 +16523 17740 +44996 43764 +125981 123523 +38762 42506 +63220 68796 +55698 54471 +80917 85023 +41325 41274 +46434 48545 +68252 74527 +159232 151275 +144983 156889 +23126 25321 +119934 120910 +153592 160946 +5167 5343 +174916 166543 +156910 150467 +327 298 +36530 37439 +31449 30741 +89871 88964 +102973 100915 +20453 21989 +140968 146695 +116349 108595 +22691 23191 +133668 131702 +146401 137084 +120113 131338 +140351 151561 +17274 16853 +6809 6870 +24516 22945 +28621 28328 +109920 115802 +103917 108222 +145881 135013 +159309 165242 +89099 82778 +73399 72619 +37924 35552 +32161 31027 +187479 191076 +163649 151705 +105381 117046 +45696 44462 +87514 82240 +191003 196436 +101968 97315 +138643 143087 +35114 37231 +104406 103020 +46319 45631 +106272 103529 +114628 123951 +13851 12864 +76964 83324 +195366 177907 +78570 77110 +54902 52341 +114013 126500 +96893 105747 +142116 157364 +49860 50878 +171606 182301 +213289 197941 +92491 84755 +1178 1171 +14193 13350 +150607 139890 +2575 2808 +197366 181435 +53301 53977 +3194 3404 +127141 126785 +70476 76996 +90350 97065 +32814 32302 +125165 119174 +183697 177927 +36055 39267 +164484 174189 +7281 6809 +197581 191783 +119437 117614 +158736 153035 +52336 56136 +154664 143824 +179347 164556 +186525 198833 +160622 155416 +55829 57657 +62903 68185 +161563 170545 +83847 81801 +127154 123300 +162719 177480 +116014 105932 +168864 154006 +55547 56603 +10688 9963 +19332 20583 +185364 172723 +57565 60146 +158668 170282 +177460 171797 +48577 52943 +193230 186633 +191231 185032 +139051 134674 +89533 86418 +74545 82697 +123840 115234 +106706 98052 +119764 130461 +73291 72164 +64938 64369 +92828 102970 +186772 175950 +138314 130710 +174798 177349 +92728 91118 +198469 183931 +17800 17320 +148858 136329 +108678 111493 +51096 55732 +180725 196585 +4873 5252 +60709 59019 +73694 68803 +187033 184565 +90985 98067 +93047 99320 +181108 192876 +82531 77040 +192255 189042 +149004 135727 +119043 118639 +146209 153801 +147587 135474 +185747 182972 +87296 85763 +38950 41913 +120463 111489 +88898 90323 +147326 158107 +75354 78595 +157629 172007 +117357 108310 +194003 198818 +121443 127220 +6346 6853 +135671 136525 +43538 47680 +12227 11361 +53120 52181 +105306 98924 +179582 187796 +145842 153773 +48422 46447 +27282 27218 +63631 60921 +141882 152194 +196353 180032 +13314 13830 +15014 13827 +70095 65621 +135264 134097 +8473 7738 +28912 29633 +64549 65828 +34710 36488 +78026 85642 +47259 51258 +17960 16953 +29045 30944 +3478 3387 +31390 30386 +121786 119846 +96685 103217 +145745 137278 +170135 162083 +9403 8967 +107097 114412 +21425 22188 +115302 122246 +177585 188293 +154370 144221 +39403 39241 +93201 89482 +127076 116368 +44568 45225 +29039 28546 +68884 69273 +56688 55906 +207481 198223 +106401 102065 +134035 128471 +116829 126656 +24434 25577 +19200 21334 +58198 62948 +21715 21497 +112341 120233 +78354 85789 +60903 55447 +139989 141030 +191456 184286 +173122 179292 +167944 156418 +32878 30378 +82812 87278 +129016 132051 +93929 96306 +83579 87410 +158655 157275 +7822 7595 +115322 116590 +176026 172404 +73109 66753 +139152 144378 +144443 158645 +63967 65137 +145033 159251 +152767 166395 +149581 162242 +2800 2868 +30875 33123 +42379 42072 +171280 184137 +33843 35730 +207293 193240 +77301 71458 +48992 54265 +162851 148329 +101448 105975 +133178 140628 +72708 68281 +48181 48099 +79107 82844 +70510 64405 +186115 198956 +44002 43570 +27194 28160 +105617 113332 +29651 29103 +26784 25491 +132262 130162 +211838 195180 +57196 52184 +64082 58317 +185860 189408 +4931 4895 +75463 82998 +121406 128048 +67863 66317 +106252 105117 +94138 96341 +27585 26905 +91712 90585 +13970 13724 +156836 167481 +142450 136170 +49909 46271 +137937 147902 +19025 19743 +84779 90771 +3119 3344 +55800 55504 +80012 88833 +86729 87118 +205020 187898 +196211 178631 +81801 75728 +146805 135836 +158425 152708 +156339 166530 +106233 114617 +87896 93387 +65567 61393 +113708 104525 +163516 164003 +26669 25521 +97087 90266 +175725 166682 +14673 14509 +96512 106415 +91648 87158 +32323 34759 +68126 65906 +181766 191664 +77191 76372 +14074 15004 +201520 191110 +23359 23017 +75746 77501 +82298 86795 +89343 85239 +129517 136600 +114550 113556 +144320 154224 +85898 78734 +131615 127367 +160354 163607 +6099 6481 +82092 86414 +99151 107081 +60857 60573 +94269 102621 +213783 197425 +76776 76921 +179182 194391 +112225 117486 +126545 123376 +104573 111231 +110625 105425 +123233 113160 +142444 131065 +140250 155596 +82205 84847 +98412 102937 +49859 54520 +70745 66586 +116195 106994 +189951 198265 +144927 136656 +82948 75887 +44249 40435 +55909 58409 +109979 119137 +50115 46936 +7626 7204 +166705 154902 +36438 35714 +17894 16432 +154322 149908 +175494 173524 +42065 41349 +108944 99352 +132514 146921 +163028 171684 +136362 149239 +161211 173246 +201032 192933 +11493 12464 +102785 95262 +14750 13912 +114547 112995 +16921 16524 +103870 101755 +168763 154855 +125061 129432 +87190 88693 +6836 6408 +191695 190135 +185896 175124 +12810 11987 +63274 66873 +162657 168411 +46232 48128 +175835 195064 +80666 83260 +115224 124467 +120936 118240 +61878 65759 +63116 68858 +131621 123559 +114444 124560 +42516 46576 +11067 10197 +131171 121002 +45615 45128 +126521 131000 +86081 90986 +60076 59321 +58665 64474 +173898 184051 +72316 70222 +142866 157020 +97613 89904 +113830 112708 +135278 124947 +59820 60706 +94726 88208 +55981 59833 +205329 188865 +83442 83814 +18518 20506 +174236 176969 +75920 75935 +78744 77518 +58198 55557 +130684 122647 +59444 58473 +46575 50695 +121704 110759 +33982 35502 +170452 163033 +166848 157708 +104316 99628 +47183 51972 +45075 43424 +5230 5279 +135234 140380 +44809 49465 +18618 20395 +155810 162124 +169707 172631 +176491 184535 +62877 63520 +169328 187178 +107328 106905 +143041 143505 +158865 168096 +48487 51290 +119726 115832 +3189 3077 +151584 138181 +82974 75464 +56076 53539 +65908 71804 +166913 177954 +33618 32807 +33210 34914 +89826 93862 +74639 72008 +87830 95991 +18264 18586 +147098 140001 +75939 79613 +21442 20032 +164644 159944 +50749 50289 +205348 197380 +202465 192662 +204722 186882 +153553 168454 +146857 161433 +19094 18004 +33408 36923 +132396 136315 +193100 188916 +175721 194211 +189649 190718 +52098 55122 +60975 64003 +6452 7090 +71516 70064 +85400 92410 +59984 62001 +157850 156988 +178895 182479 +200365 199947 +143263 131812 +62596 67655 +171636 167095 +29909 28871 +85321 79352 +551 545 +81259 84697 +208575 192728 +109567 113670 +142242 145507 +176179 168707 +73875 80086 +11927 12065 +165859 165872 +102794 97885 +14995 15360 +115625 115477 +48999 52020 +3308 3432 +170887 164287 +134339 148649 +34717 34790 +85930 79102 +55794 51304 +9158 8795 +94536 95240 +179258 176407 +128937 126456 +79501 79912 +179264 178404 +192555 180736 +144543 149720 +105643 104195 +161776 161358 +96347 89635 +65208 59544 +17790 17050 +53995 57062 +78645 75331 +177035 189621 +1781 1942 +60676 64532 +200918 194942 +58392 56212 +181784 179929 +7380 6732 +55429 53771 +21655 20742 +199717 185279 +112716 111818 +51995 51771 +123864 117380 +155237 165407 +118349 126996 +152202 141178 +189932 182771 +8 9 +39465 43005 +52543 51085 +82839 87711 +15172 14792 +87254 83869 +142575 139540 +179808 170496 +120973 119903 +45824 48411 +51751 48262 +153483 140857 +169175 177357 +16294 17189 +27740 28537 +200589 192150 +3480 3594 +2930 2740 +89292 95513 +79276 73611 +64500 63561 +120981 122059 +89844 99309 +54915 57337 +33913 35254 +65981 72439 +89782 91223 +176279 175466 +118324 116023 +199081 199437 +101988 107026 +150265 156626 +197247 192749 +41621 45680 +89906 93044 +55648 56334 +113328 109810 +80419 80266 +113585 107883 +108148 107238 +16018 15769 +563 591 +2891 3010 +124582 122508 +68867 68274 +53273 50624 +114619 110106 +15826 15899 +105882 102853 +16108 17123 +136410 135347 +46304 47450 +24786 22676 +183697 175053 +11289 11810 +18275 17273 +183185 189979 +30596 28378 +75755 76826 +211601 196369 +18608 19729 +75795 78577 +12733 13477 +131687 136806 +119325 130534 +155028 149186 +60654 63210 +95190 92965 +181963 194309 +210931 196809 +107845 105254 +128174 118504 +169721 167377 +121194 112650 +5646 5236 +160217 153070 +12817 13673 +42793 40532 +154930 154887 +21619 22757 +103150 96997 +180723 188608 +88586 93037 +145686 140514 +138262 142808 +20408 22193 +79417 72907 +110779 107365 +3923 3598 +79499 72916 +211327 196389 +132495 130008 +141847 146381 +116934 110495 +148592 140948 +43455 44366 +26758 25045 +34297 34387 +64593 69263 +66532 61638 +64138 58978 +119661 130042 +148859 136101 +63480 69158 +140504 133862 +199033 193515 +184614 176383 +156099 173314 +120543 122449 +111836 120964 +27861 28064 +46214 49428 +40029 38923 +79225 81772 +21032 22886 +162935 177859 +74089 67638 +32112 33624 +211070 194888 +103870 102750 +54004 49198 +104885 115652 +45369 44759 +147927 158176 +119796 115722 +140827 140983 +172627 170239 +122004 114219 +147196 161498 +179317 188674 +88927 86725 +131254 138063 +128850 130856 +89707 94335 +142378 144392 +79346 73858 +69265 75513 +61352 59219 +162277 179649 +106811 98662 +183698 193995 +47266 44910 +167777 177477 +170580 174152 +91299 85206 +12822 13831 +97773 102335 +1669 1564 +70374 69517 +60182 55522 +164593 150648 +15384 16708 +62801 62748 +82396 87308 +154348 152657 +47844 50504 +165128 161897 +14841 13722 +127692 141061 +137536 141021 +193781 189396 +84783 83056 +71758 67305 +42616 39776 +146882 139384 +8666 8694 +79770 86254 +179620 180633 +81829 74986 +186028 198626 +6501 5979 +146046 152443 +158604 149303 +174336 179890 +119625 118485 +4754 5280 +159666 164135 +5276 5232 +92938 103128 +182132 176270 +165727 176446 +161995 174190 +158781 158204 +84030 77878 +9145 8887 +80791 80841 +35235 37363 +158250 144177 +7634 7241 +126793 139368 +87202 85255 +164767 173955 +33491 33252 +54366 52860 +57681 52766 +44845 43546 +142835 133234 +5793 5439 +26599 26359 +144327 139854 +117421 129432 +85706 91831 +181864 169324 +24809 22880 +25842 27316 +95533 87025 +100460 95408 +99689 106172 +153127 147358 +22591 23176 +73640 78672 +16393 16569 +152256 147945 +148492 151069 +54340 52468 +133062 127445 +205824 199392 +33715 32670 +172548 171484 +54179 59963 +185056 170507 +118492 121089 +176610 178084 +38684 39038 +27315 27049 +178975 165703 +23253 25090 +68984 73693 +4730 4534 +9133 9787 +71628 68741 +27403 29631 +161507 162596 +184287 185010 +55796 52693 +154901 156406 +118885 121379 +21158 21963 +24545 24567 +182672 174654 +28344 27034 +123371 124974 +109020 111624 +175075 187196 +153633 143853 +45863 45006 +94762 95231 +3275 3584 +125129 133495 +120264 121961 +42052 40877 +103419 107397 +178669 164239 +13185 14532 +10618 11389 +26287 26670 +126142 115844 +95718 94961 +193280 194870 +10789 10377 +90914 98467 +171044 172106 +27952 27702 +152972 166605 +120000 126061 +167454 183349 +49427 45238 +89773 89181 +114782 121187 +24240 23072 +47499 46602 +128445 126084 +186084 178364 +81537 76099 +132172 143072 +98349 104952 +113986 111211 +88397 90979 +86862 88765 +211489 196824 +201353 190875 +187595 175434 +60786 59013 +158499 157104 +134415 144820 +178436 193298 +148194 137650 +90339 86578 +83762 81109 +63978 60377 +76126 76953 +170182 170685 +60753 61081 +148929 156620 +35278 35050 +51554 54935 +131429 120469 +116013 116766 +12665 11886 +170411 180340 +5110 5525 +110797 121487 +28764 29577 +142399 130990 +44711 45860 +70234 68071 +41924 43703 +63752 62476 +113108 107458 +13922 13241 +178849 193040 +59883 59965 +153673 148397 +64133 59427 +167854 162949 +72480 71452 +90800 84379 +19779 19914 +35165 34018 +146456 159083 +105376 102396 +63879 61600 +156192 153356 +41898 42393 +208308 190714 +30719 31840 +51947 50946 +143180 140798 +170313 169401 +59332 58317 +131499 139550 +20497 19932 +9858 9689 +158393 171128 +212778 193939 +134656 141853 +198137 198641 +46312 45625 +39089 35758 +156920 171993 +61481 65619 +25355 27635 +185883 181142 +133097 121615 +141307 131277 +75895 77458 +109520 120461 +19504 20584 +62481 64547 +2207 2189 +65103 71854 +191254 177273 +72400 73559 +138854 127910 +117198 123439 +131716 121343 +84729 78563 +174507 166502 +29674 31198 +162407 168610 +101525 100668 +16000 15396 +155454 148582 +165956 154932 +87744 92750 +164696 182333 +167075 175689 +92081 87025 +38844 38404 +76589 82778 +21492 22372 +50815 49151 +124473 124734 +125950 114799 +47548 49263 +103747 103340 +84165 86106 +32446 34935 +108969 118780 +99649 102069 +123340 121005 +157637 155067 +112047 106230 +139573 140091 +96080 88009 +22777 24394 +45157 43233 +40593 37965 +162039 167351 +43130 47360 +85801 78046 +119850 110050 +29707 29308 +76467 73601 +112840 113509 +78295 86173 +141648 130453 +26833 28284 +193649 193162 +84616 88393 +34940 33020 +36515 33578 +126886 118650 +75708 80349 +89297 85922 +85240 80653 +48274 46653 +104357 109623 +62237 59381 +28123 29491 +202011 195315 +170136 184290 +176908 162713 +89327 98803 +48261 52697 +21947 23633 +86512 82288 +142778 145389 +102254 99203 +113796 103779 +166990 184660 +15890 15051 +244 225 +28874 29407 +207919 195161 +45272 44228 +198407 183612 +5779 5367 +7585 7950 +179430 185877 +125848 117431 +35871 33607 +62072 64442 +83231 86472 +94675 86352 +168629 164756 +159709 168288 +64180 69550 +65113 60126 +145571 154126 +47915 45053 +207277 192102 +132567 135506 +79954 82384 +91346 92871 +120918 129942 +198141 185912 +133571 145117 +11450 12205 +29070 27886 +143408 140340 +12674 12450 +24735 25179 +129568 140074 +126514 121927 +113008 121721 +142768 154996 +50788 51854 +116151 127242 +139855 148321 +49897 52632 +153424 151273 +99261 97263 +168479 182728 +4253 4126 +139460 153108 +10935 10565 +93910 90755 +54831 57752 +71960 68466 +17027 18546 +55952 54994 +75295 70291 +135521 150064 +28932 27128 +27507 27103 +53663 51734 +9446 10371 +85247 90930 +175935 165053 +95516 103648 +142936 154094 +28842 26454 +103867 109866 +116598 125867 +129886 118715 +101817 101042 +132857 134415 +49305 45549 +113143 105407 +196863 179760 +44555 41084 +50518 54228 +5748 6232 +207461 189588 +209373 198638 +20742 20999 +132750 131824 +89986 90682 +149286 136139 +204695 186537 +169807 161977 +35985 37402 +160977 172131 +159346 152151 +198333 193584 +79013 85510 +873 814 +72033 79398 +101153 96476 +102215 103656 +11512 11281 +108682 105128 +169734 155725 +55710 51142 +183396 171611 +76583 75557 +19896 21663 +173575 163584 +28382 30913 +36425 33828 +71054 78518 +89788 93198 +72325 78632 +147756 137569 +99980 106306 +98514 108036 +75503 81049 +92724 94934 +67559 74746 +94883 91599 +17849 19084 +41560 40180 +113731 109090 +108888 114166 +181657 193376 +125548 125160 +90831 98822 +15724 15067 +73775 79006 +70777 67736 +4690 4606 +154935 171258 +53536 55675 +144289 145829 +144325 158378 +123779 133799 +60791 65812 +100234 95465 +154273 150005 +78179 78225 +21980 23281 +152898 154680 +55559 55124 +139899 144259 +176017 178244 +116706 124512 +183446 174534 +25337 27935 +175524 185897 +19390 19370 +131013 138386 +47792 43811 +39187 40165 +79674 80728 +191578 190990 +147705 163749 +43877 46313 +131644 139815 +143377 134420 +41565 41752 +134951 126350 +81927 81356 +132732 147468 +108856 99847 +12695 12696 +102519 97273 +11772 11302 +124300 115223 +32704 35957 +157143 157910 +45173 42014 +128127 136326 +89048 90237 +194136 186570 +84524 84345 +85389 93104 +127321 118257 +84255 83121 +13995 15108 +96710 94918 +124087 119421 +57641 56612 +103922 110810 +130580 120087 +63679 58807 +43461 42743 +28784 31580 +60663 55688 +110036 109920 +14622 13748 +24448 26360 +164065 151005 +60489 61792 +33729 33122 +167264 174116 +70100 73072 +7271 6987 +86201 89538 +88958 89953 +139325 142390 +7871 7456 +148658 143245 +48819 52730 +60868 64511 +19434 20806 +151155 147321 +118295 118852 +32653 31284 +148678 147726 +41905 45875 +183627 196062 +124779 120793 +48781 48438 +104848 96740 +5642 5936 +25309 26442 +89279 93474 +92273 100206 +33602 34221 +39193 42367 +178125 184547 +92515 90286 +152467 157266 +190838 178378 +31296 31025 +162585 165177 +52391 48166 +161079 176213 +35007 31986 +178587 163808 +96062 100282 +74758 73190 +186716 179571 +152660 165806 +109831 120808 +124497 113820 +134665 139563 +110530 111718 +96574 93334 +47559 49649 +124578 117948 +68171 67975 +39642 39346 +96601 99383 +138822 136243 +179052 189322 +95401 96052 +148084 136989 +150994 156293 +84523 86112 +25849 27745 +179045 170729 +138902 129042 +83816 80502 +20924 22147 +125202 138365 +161455 162468 +94412 98994 +141045 131508 +5415 5653 +78617 75694 +158860 148660 +178907 190418 +159074 152068 +39362 37326 +19897 21720 +35516 38985 +135603 132348 +7810 8461 +158471 165425 +23130 22926 +28724 28100 +122918 117595 +115285 105613 +11742 12640 +167463 178817 +79246 78357 +174604 160501 +168712 182535 +76549 77680 +63939 60481 +131323 135787 +57036 63255 +92103 85031 +66541 70670 +188372 179947 +2255 2219 +135775 140505 +110702 114263 +7504 7276 +48552 51499 +112059 116561 +139413 135582 +38250 36190 +48137 45832 +23192 22003 +142955 154450 +200973 191276 +119653 130045 +195556 177984 +184193 195787 +27537 29817 +121566 121614 +159817 161680 +12186 11467 +174290 179620 +9410 10313 +35396 35543 +181490 196604 +155597 151941 +121106 119241 +110210 101090 +16230 15030 +29511 30063 +50462 49136 +66474 64025 +135046 136887 +149682 136174 +121349 129770 +24704 27324 +98388 106666 +53435 56776 +88726 93806 +42407 43368 +68663 71715 +34798 32830 +54539 59197 +157378 160209 +103704 96159 +60092 61257 +75261 73571 +84895 81927 +182153 199686 +28892 26911 +191826 177075 +44586 41203 +18281 17450 +13788 13805 +87004 87053 +127753 137496 +178689 182087 +119159 114332 +41881 43290 +178776 197524 +56929 57603 +142605 147725 +79521 75211 +110444 114590 +131665 137901 +145059 139999 +128105 120159 +13362 14023 +25376 25343 +73776 71078 +143335 146011 +71717 71035 +109195 112541 +196590 179187 +174066 185617 +137203 148287 +76770 80277 +140323 152784 +149088 141980 +21332 21490 +180224 177182 +64897 60482 +189428 192672 +161218 172109 +38741 38043 +101605 107719 +57361 62412 +27663 27237 +102074 98391 +87984 88151 +21428 22041 +188623 175141 +131781 121865 +35674 34149 +142448 138633 +1776 1687 +165380 156623 +116385 118493 +83683 78506 +38791 35546 +174903 181108 +193145 198885 +177084 163091 +149839 146410 +203275 198891 +75085 73501 +141453 152420 +115925 115164 +150228 138195 +184437 183585 +146056 136391 +27664 25440 +157781 144114 +154762 155523 +150512 155059 +160730 164224 +153337 160892 +50690 47635 +148568 149093 +46589 43293 +80672 84620 +100170 104409 +93754 91110 +71440 65719 +196614 179495 +72128 77335 +73629 75274 +32749 32867 +72279 74941 +76415 84425 +107181 106221 +46751 44436 +22381 20457 +2270 2278 +148914 154741 +9713 9556 +216873 198894 +133701 135198 +50760 56212 +134414 149065 +117925 117817 +52350 55899 +10948 11653 +165483 168499 +64518 60452 +150638 166722 +18310 17996 +42043 39594 +168273 183086 +146892 139377 +27441 30136 +10142 10529 +100286 96645 +7951 7232 +148250 163298 +128079 128359 +63949 67582 +181764 185666 +42292 45677 +111846 113699 +3856 3609 +3862 3779 +95079 98566 +15784 16085 +86786 92543 +76463 81288 +137063 141730 +104745 112346 +27466 26501 +50701 51924 +119692 114500 +101470 100518 +153280 153641 +150217 144223 +187866 172278 +172279 189576 +37946 37457 +80396 74206 +160373 160844 +62785 65963 +178915 169873 +96141 93824 +101662 112679 +4694 5201 +97655 104803 +100450 96429 +116625 121005 +187800 178840 +65067 70574 +185209 173063 +44427 40979 +151216 157751 +145539 150337 +180357 170666 +132526 129493 +147584 155711 +33457 36118 +123515 122221 +32071 34106 +94025 91611 +121634 132817 +65270 68575 +163034 171858 +161824 150610 +25051 25985 +72418 72205 +6477 6585 +71372 75266 +183957 168603 +31241 33848 +28610 30547 +130248 122788 +18720 18884 +49671 52513 +31589 30608 +56950 52557 +40084 42373 +96757 91903 +169107 168871 +156213 171624 +160161 173142 +157106 160325 +86296 92444 +90568 98302 +129145 126101 +15749 16670 +19453 19963 +100100 110832 +175754 171981 +33211 31346 +196575 180316 +157861 145913 +60684 64562 +156670 143457 +129167 142431 +41797 39470 +130926 125729 +45637 44100 +106270 106223 +19080 19903 +114901 125730 +190295 182128 +100358 109249 +60151 58293 +186965 197159 +57905 62132 +79311 72851 +109027 99123 +64252 61452 +92795 85335 +67251 68015 +1786 1848 +128313 133015 +180020 185757 +50689 53799 +153725 142041 +162226 169526 +142629 143937 +51726 50136 +95315 87368 +133064 129861 +153170 139514 +65584 70889 +144353 134161 +105694 97224 +203813 193591 +149147 141579 +29064 27289 +33212 35242 +42779 47140 +90157 91192 +143843 150880 +78540 80838 +30736 28261 +187711 181749 +96626 99197 +133164 127068 +26935 27480 +184713 195153 +160305 154022 +116210 106904 +156332 144533 +131443 128614 +66732 61863 +103230 93904 +85923 82926 +3316 3541 +41485 38951 +177691 162308 +82096 76337 +154856 153164 +33220 36648 +139052 149982 +47506 44963 +11555 11136 +103175 94214 +179508 186289 +67256 61892 +97819 102901 +42063 46388 +95732 104124 +75530 73871 +131268 124019 +183906 197828 +26803 29606 +140516 149944 +58087 59408 +93364 98653 +150841 167041 +42292 44142 +54143 55594 +156933 152132 +57067 63112 +63501 57880 +21080 22443 +165563 170582 +153560 149218 +199992 196634 +122306 132613 +57216 59593 +139454 130015 +44468 48847 +64408 67318 +146932 146032 +94438 102711 +126980 127053 +186700 199363 +29174 32374 +6981 7632 +35557 35110 +786 765 +129225 138655 +36654 37367 +45109 48099 +7630 7425 +182216 192460 +124158 120419 +128346 127305 +113204 124017 +40267 36853 +145552 139318 +199326 191381 +183519 168190 +71649 69934 +91899 87997 +73669 80513 +29415 29855 +57963 53604 +73703 78573 +145359 155327 +101784 106776 +111721 108703 +127632 130150 +177806 187962 +39623 38902 +74323 69632 +152883 146417 +193572 196314 +87656 94223 +63892 67457 +100109 101507 +90503 87422 +84224 78341 +179407 163898 +75158 78330 +164714 174593 +173756 189377 +30192 28631 +169005 185116 +94473 96823 +154330 160825 +130451 127140 +99984 99677 +108744 108526 +51257 47532 +169702 163204 +110743 116055 +183195 169648 +11460 12386 +119309 112499 +38338 38864 +111135 110653 +189424 179758 +184166 175113 +108846 113018 +36277 39123 +113658 116206 +174832 175223 +21202 23532 +33114 33639 +210245 198279 +203204 194825 +34151 36523 +90379 89259 +57585 59115 +212485 197348 +180286 175205 +42957 39560 +170590 155412 +166013 154951 +110312 111730 +185933 194402 +24798 25992 +46778 43979 +165640 159827 +105284 111449 +97302 104212 +45328 42917 +136398 134197 +39620 39876 +104431 103443 +46267 50528 +25670 24364 +90558 84405 +45955 46503 +114734 121766 +107372 100666 +50648 56249 +46347 45179 +116205 116790 +176928 176583 +188290 182167 +55071 50825 +149538 139564 +124028 113704 +156194 160014 +437 399 +190695 179837 +19716 18394 +34438 32985 +205596 189978 +26051 25721 +189024 182469 +126693 134764 +56741 54141 +16451 18058 +105097 115323 +49712 45365 +212653 196696 +83259 87473 +12580 12152 +6066 5726 +18727 18963 +148619 147278 +14845 15969 +78583 84487 +15682 14498 +44297 44758 +99478 105927 +5968 5582 +67912 68736 +78374 74204 +131884 135139 +187393 177352 +125689 138805 +170459 178698 +57642 54041 +56510 51398 +138866 148562 +5873 6182 +55586 50679 +151531 143763 +107809 110578 +67855 69968 +95201 104628 +171231 159859 +162919 169529 +172828 173376 +22615 24243 +76962 73955 +70528 68566 +173631 158538 +49570 50943 +211985 197021 +23833 24514 +175166 193499 +112812 117710 +62241 59090 +181193 166143 +180892 186939 +183706 187776 +85792 95151 +117428 117083 +15611 16650 +25191 24607 +91275 98907 +207379 194989 +56018 52548 +70968 77087 +175185 191029 +97945 97876 +69177 66239 +117823 130076 +169776 156567 +52676 54589 +136211 131370 +157206 174048 +28684 29271 +199603 184475 +192866 182414 +62026 60572 +144746 143171 +10242 9518 +56167 56974 +145238 155115 +9374 8674 +5739 6015 +114829 107560 +135641 145940 +155828 154487 +19344 20959 +77639 71474 +117845 126663 +186110 171391 +49218 46957 +161762 167775 +11618 11356 +39218 40815 +196345 185295 +70345 77818 +80385 83161 +191853 193145 +85571 89461 +89469 93352 +148956 147242 +92249 86917 +22120 20634 +179563 164648 +78652 80552 +155660 161402 +34840 34116 +186611 192211 +21374 20245 +96096 93940 +161845 150785 +122466 129565 +58302 57628 +128794 123277 +186555 193130 +129205 128468 +76514 74963 +85339 94678 +40147 39778 +58907 59166 +68169 72633 +52334 55836 +52663 57429 +174228 159997 +55742 51450 +111887 121445 +171244 181499 +168030 168076 +72486 69992 +94969 91186 +28533 28308 +112148 112640 +114412 113793 +51417 54461 +62576 66411 +102781 100969 +185959 180526 +165377 161913 +153048 151252 +109496 105008 +167944 163519 +106997 100503 +51115 49711 +105200 99481 +125714 132017 +56430 55549 +96662 88165 +186777 174144 +166490 168042 +139917 130062 +180908 196072 +5815 5597 +48064 46137 +19141 18151 +127451 121908 +8795 8770 +139508 146776 +80048 80925 +54541 57682 +151798 139609 +188818 191339 +45108 41281 +99770 105810 +111477 114920 +68747 70593 +97191 92574 +78467 71757 +165120 166030 +112728 109583 +115988 124983 +41285 42923 +108352 115333 +32985 30138 +133698 143179 +189227 196184 +63155 65760 +9189 10059 +73296 80275 +62890 65870 +84390 92619 +82933 81210 +99652 93504 +91705 87376 +184606 192976 +178560 193381 +3808 3711 +75730 76586 +172661 157774 +18437 17367 +84009 80246 +131953 137460 +111030 120897 +53488 50052 +164934 180294 +95124 93198 +32844 30463 +131578 136137 +201887 196168 +13039 12899 +125359 123767 +46676 47918 +118561 121810 +69265 72487 +192838 179633 +200798 190821 +157623 170289 +71945 69851 +153138 141010 +194110 186698 +164490 169518 +190352 193222 +43588 45783 +137335 136098 +72207 72587 +14324 15738 +32174 30998 +102427 112606 +162678 164805 +122221 128854 +14025 13250 +85217 81111 +7658 7761 +69995 64960 +94842 102182 +182876 196625 +112288 103840 +126277 138601 +77165 75558 +50034 54777 +99660 91357 +93490 85579 +1768 1667 +52545 56553 +85365 90859 +29135 28971 +45916 44245 +74005 69665 +141140 145449 +164130 155672 +72674 76368 +65330 59405 +202999 196975 +56371 54700 +80812 84161 +180271 198275 +41255 40208 +176544 190024 +26509 28624 +52211 51267 +30782 30040 +131440 138521 +139237 145470 +169646 188023 +166160 154701 +43429 44823 +82525 86758 +86996 80434 +199043 182512 +93167 85954 +20448 20925 +70036 70579 +42620 39547 +122549 117349 +134622 141715 +76453 70048 +33133 35489 +22 21 +66095 60625 +125180 121101 +87716 85906 +25472 26609 +112266 124666 +140301 144117 +69930 64182 +59626 62945 +59885 58028 +162652 175549 +146511 137839 +210193 199128 +74376 69470 +184227 174133 +63203 61017 +176772 166163 +75406 81249 +100831 105304 +154984 161612 +110467 120409 +162037 164129 +141973 141064 +61070 65366 +48827 46587 +63264 61859 +37244 35605 +82778 83522 +63946 69011 +52720 53062 +173331 189045 +79358 74261 +171302 166726 +164757 151364 +169961 161418 +147648 135309 +50382 50052 +79366 72623 +55735 56417 +161934 148579 +152046 142212 +188867 181174 +179449 187183 +196423 178759 +142599 137866 +148079 143647 +131656 134996 +202693 196264 +13688 12515 +110001 116428 +106312 109785 +112188 119339 +64936 71973 +88250 86776 +123571 134067 +79788 87025 +130484 125361 +28625 28473 +198577 189119 +25195 26067 +91061 86835 +48606 51965 +51924 47494 +143239 143911 +47601 51102 +144537 134542 +197474 185656 +70380 74682 +88881 95985 +170748 180432 +151172 167410 +116364 120597 +76266 82742 +96182 102080 +24228 22266 +192841 189497 +37270 40256 +117382 114036 +3104 2943 +108657 98789 +174293 159594 +185730 181023 +84213 83995 +186946 173645 +51157 54940 +55989 52427 +162387 164114 +74195 80290 +34794 35975 +210634 197662 +60369 58642 +219380 199630 +56878 62181 +146715 158168 +112035 116211 +191775 177014 +20232 20028 +74937 82513 +91577 91894 +73197 71608 +107000 101594 +21757 21181 +9837 10376 +46541 49900 +13030 13207 +159949 176809 +30064 32509 +197790 189477 +13601 12631 +101529 106300 +138528 143191 +143750 143727 +158551 168263 +84524 77177 +64812 64894 +18035 18960 +22178 21662 +159732 171705 +67412 68934 +8209 8712 +1609 1627 +195975 194227 +204576 199214 +128068 139602 +163224 160138 +104924 109366 +59211 59101 +189011 179491 +101236 107265 +19823 20779 +6900 7269 +17541 16680 +4637 4892 +193212 194965 +117518 129410 +49861 47945 +28844 31495 +119205 129170 +81351 81497 +198788 190634 +69788 74162 +135606 133337 +1635 1531 +195433 189478 +76318 77531 +185107 169787 +192362 198113 +209939 193876 +18664 17866 +69999 75875 +139398 143343 +139174 135492 +90531 93902 +26274 28312 +123582 134387 +176620 193920 +76509 70018 +169419 181176 +27476 29476 +16375 15501 +82849 91916 +95287 94013 +53041 52197 +84955 79913 +228 218 +124958 128377 +64202 60609 +190923 199692 +185472 186277 +88431 83674 +164848 164846 +107754 100649 +175274 184623 +203544 194408 +72004 76044 +130506 139884 +192863 176646 +106441 115332 +119339 112165 +180162 182139 +29465 29888 +38727 42665 +77997 83244 +14871 16118 +9225 9855 +203382 189293 +166990 153664 +78749 87224 +24795 24877 +45429 45310 +46931 51751 +78419 77717 +152117 145918 +128772 141350 +88962 91861 +170036 156316 +45814 46386 +81947 79496 +179618 187940 +46880 46101 +102735 96785 +155888 167523 +214616 199387 +162078 166274 +42462 41199 +78086 74124 +130007 127018 +199806 191775 +113319 113511 +67075 61621 +69229 65449 +74970 68194 +95978 106594 +90964 94890 +108095 116894 +8449 9085 +198993 185423 +88736 90448 +42881 46261 +42635 39577 +82899 77482 +152870 164071 +163290 175943 +45401 46747 +147509 137975 +3924 4231 +173987 176854 +179488 164129 +46283 49541 +149199 144611 +179121 168141 +99793 108611 +154336 145388 +1875 1738 +179656 185153 +121638 116500 +111463 113489 +50002 48803 +6836 6836 +4819 4383 +169406 157663 +1937 2094 +40642 44046 +165068 180012 +105780 97486 +2895 2695 +6649 7076 +197265 192122 +209326 197982 +175894 170084 +108502 105780 +129937 123396 +73763 79897 +162188 172116 +168604 182948 +151027 154175 +57085 55574 +189387 174335 +52294 50951 +13594 13975 +11451 11250 +23202 23274 +62535 59225 +174700 164407 +77035 71894 +25260 26738 +189963 187328 +28504 31359 +147094 134966 +12577 12813 +59996 62667 +156549 172365 +48217 50510 +121919 131854 +85275 83252 +104191 100919 +106376 116453 +179008 189408 +130121 124192 +34143 32973 +3084 3339 +33792 30855 +168363 173083 +191189 189401 +161128 148444 +62621 63716 +16389 15453 +91236 98272 +191526 199804 +212967 196079 +73398 68169 +179772 183519 +18187 18586 +217651 199549 +20308 21803 +41249 43536 +5811 6063 +111917 120825 +52966 54519 +120688 110565 +177783 177918 +152840 141228 +81333 89935 +142124 137033 +61897 61075 +85399 78390 +8883 9083 +103686 105188 +96815 105350 +154374 159252 +147693 157551 +30458 29205 +93468 98359 +44993 46234 +188123 182794 +156180 147127 +39608 36048 +123148 116344 +23521 25043 +14561 16158 +84004 83784 +132355 121783 +75936 75068 +114111 112089 +3474 3228 +67254 63354 +74381 73057 +150098 147887 +24079 21974 +142807 132992 +41339 44423 +33385 33188 +157553 152136 +8692 8926 +156691 160479 +33204 33907 +174688 159823 +126613 134022 +79592 83394 +45329 46290 +97404 104978 +26341 28676 +151835 162996 +164099 153523 +48653 48833 +56694 59901 +101442 97058 +201320 185535 +113164 106328 +19951 19760 +126239 126694 +151906 159578 +1906 2011 +35618 37751 +65020 69631 +14955 15268 +4392 4186 +143369 153668 +111700 111644 +83199 88244 +26602 28716 +146566 141350 +284 272 +171439 170012 +170098 174517 +111079 111427 +127768 117852 +139598 145770 +107782 99873 +107986 108317 +3680 3561 +33727 32418 +152177 146024 +47345 44943 +119595 114125 +103029 104582 +29091 26634 +155915 166735 +113220 110211 +60258 60752 +117410 113170 +85072 90475 +171362 173237 +21871 23348 +20354 19669 +86753 79502 +55323 58099 +19864 21345 +157297 170609 +34140 36153 +182167 180795 +78811 79678 +97072 99280 +174336 164236 +123420 132785 +180997 164911 +60318 56740 +198527 191228 +97522 96357 +90373 92046 +123191 132650 +91712 87900 +174911 173074 +92326 89268 +62314 58089 +100239 91990 +116786 128218 +117761 108591 +15105 14002 +64945 70385 +167554 175309 +76978 72971 +90119 83935 +156346 142666 +120576 131553 +78937 79308 +135486 134741 +197881 183324 +174024 172024 +28152 29615 +68470 64452 +65867 69946 +2216 2335 +118743 120430 +17990 19427 +181387 174929 +44226 40331 +203231 190906 +109249 100342 +2425 2345 +170622 176411 +22598 23681 +60168 63626 +137011 147042 +45182 43035 +181213 195623 +142045 138933 +1809 1785 +158453 173756 +67069 61006 +14616 13336 +6256 6082 +158438 150623 +179012 165200 +98162 106270 +159561 160813 +150645 151689 +196059 181185 +42165 41852 +166583 174146 +51017 52461 +88450 86767 +5569 5105 +64769 63591 +176731 196071 +26793 27236 +144183 158405 +70439 70935 +157203 149053 +44469 40672 +25345 28107 +178379 192937 +140287 143518 +72596 70689 +116315 128032 +30125 31056 +123384 124580 +132163 120668 +173928 170731 +112340 118359 +191229 187219 +184117 171842 +57669 62493 +161063 156387 +90330 82457 +78339 74686 +85909 87728 +162303 163379 +36396 33934 +38272 40372 +174954 185258 +69808 77152 +98865 105075 +18825 19713 +137187 132121 +115235 114463 +164104 173876 +164641 174271 +175021 159637 +172898 165115 +146917 140264 +173436 171583 +83158 84482 +154312 146269 +128322 136397 +28131 27918 +124800 119245 +109006 110598 +123914 137614 +200633 183154 +141820 129260 +161754 150993 +201053 191615 +212089 198252 +162453 168161 +186214 199476 +110841 111709 +68643 71606 +70696 66165 +125659 133629 +19830 21520 +68729 70724 +179382 166398 +136329 147478 +46550 44394 +172272 172036 +69994 73435 +125005 122882 +52192 49958 +56608 52063 +76024 69620 +78663 78560 +16795 16044 +89677 90872 +136161 127036 +5317 5157 +166645 180489 +113552 111721 +6745 6321 +195284 188644 +17312 15993 +141667 132427 +184537 178456 +28375 29127 +113431 118623 +61817 64364 +69271 62979 +182749 183060 +97625 98505 +183630 186904 +41260 45772 +160467 155946 +105029 111406 +6417 6162 +39776 36825 +21073 21763 +62824 58033 +12103 11353 +95022 98968 +163835 158898 +160034 160413 +215085 199206 +21595 21378 +88926 89892 +68159 68456 +44064 40618 +155841 152345 +104078 101920 +115302 126962 +153595 154834 +195768 189739 +140469 145673 +28578 30788 +31558 31172 +173588 168590 +50416 46424 +55306 54484 +122306 119329 +108341 113444 +47538 47204 +49812 52349 +147688 143747 +79185 82006 +147985 157659 +113584 119625 +169901 156478 +74989 80283 +39398 42504 +8810 9128 +22222 22048 +63187 65263 +46086 49037 +200431 198968 +76310 70386 +85549 86942 +183197 188199 +59674 54269 +78328 73782 +25751 27384 +40759 44783 +62267 62631 +178536 170280 +172141 158876 +41988 41301 +140475 137296 +84631 78272 +111642 107247 +87850 93989 +70881 69373 +15794 15340 +196911 186147 +186997 189123 +35210 33178 +87331 90712 +133775 124851 +189117 187184 +85718 86720 +137523 130279 +71384 65699 +122124 114948 +170037 156849 +7103 7288 +200088 194562 +174771 168563 +116249 125527 +77165 73443 +156371 168040 +123658 113227 +166250 171402 +152869 150204 +7704 8186 +64436 71410 +199283 190793 +40159 37133 +39525 38627 +162419 148457 +111613 123773 +161404 167965 +62469 64731 +27799 26125 +36165 37819 +132375 140204 +99436 97505 +47489 47954 +39806 39680 +66373 60598 +91491 96514 +65787 61192 +15946 15732 +191009 199918 +91767 87441 +153702 140568 +37770 35242 +104401 105346 +165519 175726 +51436 53702 +153975 163868 +174825 164763 +138292 143234 +139349 131886 +126486 124528 +57706 52571 +12762 13055 +57417 58888 +162265 164727 +110801 108126 +163242 174241 +120625 113189 +120723 114730 +74181 68987 +165227 154161 +86276 86321 +30792 28142 +50490 55427 +85200 87230 +172159 156657 +146243 150287 +85546 78142 +118824 109220 +128114 137412 +188664 186757 +170631 184498 +149234 141895 +109389 117668 +138592 133811 +15130 15197 +94914 103382 +145445 135716 +30505 33765 +103173 111800 +52800 49482 +38434 38512 +157757 145231 +6244 6004 +75320 83046 +4541 4626 +25461 26706 +98186 102654 +161371 150582 +185434 199849 +13918 14328 +97517 92860 +194244 178706 +193725 182129 +76578 79157 +90484 85070 +65564 60825 +155856 170495 +52273 55206 +106276 109712 +107473 102968 +146969 136324 +148170 153107 +35400 36500 +181748 193187 +84717 80199 +84847 81709 +147281 158442 +166011 153368 +10421 11309 +175206 188626 +130103 128410 +183793 185569 +70609 73202 +30958 32134 +86699 88678 +63225 62415 +76708 76271 +203216 185210 +93877 88906 +163485 169729 +125205 123540 +53062 49607 +101051 98493 +172288 186205 +70307 67436 +96336 98737 +178678 179312 +38544 37587 +119490 111709 +55479 55589 +142598 131083 +50893 52319 +76105 70247 +178751 197693 +18365 19444 +55034 58885 +72462 74786 +124327 121080 +171006 159305 +99742 96405 +168313 183938 +178319 174980 +126625 130146 +89203 86438 +83741 78356 +161202 178294 +63804 58642 +901 924 +113697 118080 +198332 193870 +86823 85989 +181565 179363 +73435 69830 +193247 188406 +137794 135009 +187388 174579 +176326 195651 +122465 116929 +194608 179718 +143507 134924 +122272 121579 +2979 2798 +193670 182480 +30595 29625 +196743 192398 +145265 154659 +182083 185393 +51428 50255 +9159 8661 +376 372 +33161 32025 +87339 82668 +65633 61571 +42648 44635 +10000 9520 +194816 186682 +65825 60726 +71771 69503 +96226 88024 +29535 27051 +133315 126309 +168761 154159 +76421 71533 +82295 90300 +148875 138209 +42301 42662 +67650 71814 +73567 71924 +117418 123670 +133868 140806 +162372 155443 +142436 139939 +161793 163272 +38144 39391 +15559 14654 +143016 139173 +16040 16856 +107630 105702 +156177 159852 +203981 199774 +141525 150271 +49526 54912 +153804 155515 +76677 79038 +167967 170639 +5216 5047 +203750 185955 +74043 67516 +133768 122487 +70521 71744 +151427 149911 +87170 92124 +14792 13757 +85562 87101 +22621 23747 +89982 97643 +84554 85379 +132247 126262 +104656 99597 +175146 183743 +78465 74180 +157652 149408 +190111 195861 +185445 188409 +198302 199381 +51248 47512 +183961 183863 +77412 85764 +43683 42150 +104600 96358 +117552 128389 +205269 192277 +2836 2689 +90684 92989 +47761 49743 +14366 13738 +57732 62919 +94087 89655 +4654 4636 +29295 29389 +111916 114167 +20199 20378 +120846 127088 +186089 199825 +57114 59689 +43804 41303 +123023 121798 +72797 72849 +120784 125004 +166626 183815 +90127 83989 +191979 180277 +139070 150638 +181191 192302 +151875 153997 +188433 176301 +36904 36594 +49659 48058 +69063 72472 +166316 152566 +183136 196696 +49065 54019 +138245 130651 +181555 185234 +32025 29690 +85096 83658 +89047 92212 +149153 155410 +40194 38603 +79190 84667 +127647 126395 +50368 48077 +73944 74840 +189071 182125 +87359 89795 +27207 26727 +130043 132552 +80025 75678 +99066 96983 +188781 193997 +45093 49310 +133661 124921 +74706 77567 +131364 136501 +69276 70323 +185091 173521 +45077 46395 +158525 162337 +45915 45054 +126551 139941 +62377 60356 +25218 27866 +20688 20557 +140549 147932 +165456 170575 +120743 114422 +20602 20043 +74898 68296 +87161 87115 +14074 14035 +60402 60410 +6935 6629 +55630 53919 +75513 70876 +53878 59576 +106649 102424 +111186 113583 +173109 177281 +136406 132667 +183871 192945 +77228 73046 +27885 28736 +35646 36054 +199008 192875 +133879 146155 +193080 177632 +156194 157620 +28336 26537 +7030 7550 +112292 106866 +96709 93914 +93445 92025 +33499 36377 +55018 55569 +54188 52710 +53677 49042 +52392 52225 +81671 88736 +120872 122708 +156976 157526 +113364 105395 +27324 29136 +203960 185781 +4088 3730 +13332 12521 +51225 49113 +4675 5111 +83996 76539 +159956 149845 +99637 95229 +114429 105826 +103299 111345 +108336 110114 +152181 139082 +136878 144663 +146694 157118 +75827 73592 +144606 144598 +85330 84305 +84640 90965 +79738 78774 +159131 165315 +89675 96165 +6030 5973 +115340 111607 +7635 7546 +77002 70979 +47147 46276 +137436 133712 +178430 172273 +201351 185652 +217655 199062 +164121 181261 +133553 147111 +130834 139163 +72738 77093 +18634 18169 +79053 74276 +108896 99126 +53730 55096 +108512 116308 +186856 176764 +27238 27805 +40246 41854 +190639 186844 +118178 124426 +13478 14079 +169402 158354 +99207 97159 +102755 112183 +93507 102761 +159569 160182 +38037 39045 +89481 85234 +174816 169664 +178462 184601 +100517 105344 +72600 72182 +20432 21123 +119461 117395 +154080 152028 +19959 19081 +125935 132876 +110948 101990 +147722 141241 +148503 149369 +109609 118733 +56255 54716 +51400 49134 +147331 137886 +165326 169493 +183264 173357 +176790 193037 +107319 107421 +94515 92491 +37253 34423 +143194 151588 +153177 149921 +126751 118959 +165834 159174 +115557 117687 +71074 65506 +16310 15517 +171207 167147 +17544 19337 +172800 190623 +190946 189194 +51325 52903 +75917 83794 +68456 70437 +147010 147655 +1686 1567 +2586 2439 +79278 80711 +43574 45051 +27745 28198 +101109 93462 +22986 22437 +26202 26859 +23123 21880 +23541 23145 +25447 23911 +117361 129972 +107153 114938 +65894 72992 +122138 117057 +5623 5516 +49017 46077 +92460 97305 +13468 14959 +46096 42054 +28063 29114 +180269 180586 +78367 76343 +192454 179212 +127474 141142 +6123 6114 +23198 22699 +22957 23909 +108482 117277 +77071 71565 +94381 102566 +91150 82990 +178440 179335 +133529 123375 +30816 33740 +28559 27426 +160748 174839 +176585 165829 +148661 144268 +35005 36885 +51833 55160 +191133 194505 +93541 94111 +180046 194930 +103078 99265 +160359 148909 +92454 91272 +46918 46913 +77977 79920 +51957 54556 +53768 56083 +21640 21285 +35765 38992 +75677 74941 +52862 52247 +136060 150552 +35809 35412 +113603 117617 +175697 164150 +48020 45679 +148348 144731 +164110 164882 +165658 171418 +95777 101849 +164175 170668 +186483 199412 +81959 78199 +111184 115937 +131514 125817 +35273 35238 +90159 94286 +190552 179881 +154424 158173 +168395 171183 +59603 56869 +86347 81327 +147389 154400 +80277 87443 +76321 84561 +182730 190218 +191338 195055 +5997 6348 +169758 157294 +45030 47596 +38871 36838 +36952 40019 +156131 156578 +51300 50334 +7707 7496 +49796 45398 +144912 138080 +10757 10248 +122925 114882 +159152 166657 +113718 105568 +166735 184936 +5672 5805 +171864 171640 +151736 139626 +56080 54232 +24544 23243 +190869 193112 +18284 17994 +133717 136906 +42907 39303 +148211 155643 +25917 25178 +17347 16205 +184328 195383 +97355 92466 +182186 173565 +24952 23303 +166652 169179 +141982 141194 +13420 13023 +38036 37498 +143217 149469 +153256 157130 +184368 183096 +111038 114753 +72048 72336 +173951 174321 +205887 192328 +153298 140113 +179502 173682 +29513 27066 +113202 106202 +105917 117050 +60336 65132 +117408 115160 +111813 109314 +172573 174310 +76544 78990 +147984 147260 +128525 142369 +17908 18518 +20275 21973 +124738 118220 +156560 161885 +15522 15082 +36689 38887 +20089 21035 +155626 162987 +99503 107415 +94638 101267 +120405 126134 +139402 127431 +148110 138160 +175929 169428 +169750 179714 +47006 48632 +96036 103135 +180687 175372 +157257 165921 +38231 38350 +88467 96554 +82387 76299 +123398 136796 +65403 63013 +208767 190704 +7411 8198 +104063 107639 +122183 122786 +197854 180779 +132678 138914 +75850 80177 +17641 16882 +177868 164270 +108037 113256 +215466 198019 +78019 79503 +160514 162086 +192901 190672 +114878 104862 +43872 46076 +202775 192667 +47020 48697 +142232 134319 +96764 102854 +9521 9069 +161057 161900 +68039 67037 +11228 11395 +180062 191064 +21829 20190 +1831 1990 +135101 144660 +80365 87986 +17803 17260 +41526 40263 +82141 75620 +125203 129706 +6286 6366 +148961 150515 +71867 72680 +101833 107913 +101521 99750 +99519 109080 +49801 54366 +180973 180402 +37512 41504 +123662 134463 +143228 143632 +212548 197474 +153494 151121 +69296 73515 +1324 1424 +194808 184306 +139412 139050 +124006 125270 +159572 166459 +3426 3538 +117576 128068 +98685 90681 +23777 21816 +48245 50766 +61580 65187 +134640 128002 +129547 133880 +196719 183818 +178481 164213 +61065 56220 +202133 194933 +126373 134599 +207260 195410 +58407 59245 +129365 130932 +121941 111134 +30843 33403 +160753 169681 +127215 128325 +122282 132097 +29120 30300 +24117 24482 +42996 47295 +23859 23230 +9695 9931 +102611 101361 +116995 129862 +204830 198141 +131746 130825 +85923 83467 +49033 47687 +104497 104767 +5014 4797 +55975 59126 +181974 180792 +114693 122527 +25531 27646 +50994 52979 +17188 18010 +105822 113682 +144395 146248 +104896 114555 +37034 35448 +96572 97128 +145269 133634 +202468 195524 +149046 152551 +96741 100490 +192897 196608 +137785 134395 +70663 73862 +141169 155707 +30894 28861 +50190 48713 +55913 56189 +32305 32410 +49067 46302 +6957 7184 +78509 76735 +173253 170524 +1776 1651 +128334 138541 +13329 14026 +1934 2003 +162090 167927 +157538 147829 +17799 17891 +145643 135019 +20856 22221 +48907 52985 +131802 137308 +58930 57705 +133953 129475 +80497 86020 +147564 142095 +5423 5740 +82682 79952 +52416 48409 +170969 172321 +21407 23022 +154697 144214 +148063 136055 +106726 110466 +26862 25538 +84204 78754 +167589 184983 +40410 41194 +72976 72917 +114885 112617 +8135 8362 +44341 41435 +95327 88302 +82706 83531 +11132 11101 +130264 141219 +17834 19375 +6952 6482 +90274 83862 +68097 73176 +16177 16659 +43094 39537 +31351 29174 +2636 2779 +48778 52976 +156704 163526 +115888 128150 +61706 60696 +161836 167284 +115293 110170 +96178 90124 +87002 84994 +18940 19818 +61721 66205 +168993 180773 +94277 99225 +23220 24244 +162586 151532 +44113 43626 +142335 149093 +17004 16783 +156974 143757 +138633 127709 +41287 43385 +190021 173332 +143905 141935 +25130 27578 +166487 156275 +12880 13747 +164553 153325 +127111 117816 +155688 149944 +84563 77879 +63232 59209 +20313 18503 +102914 111482 +123715 125639 +51563 49906 +3771 3986 +46307 46643 +101293 103392 +91935 85952 +152228 168188 +126694 130985 +3032 3037 +26441 24564 +106787 111588 +9073 9322 +18774 18737 +52233 57275 +153562 155490 +164608 176911 +123272 134954 +154975 166250 +98558 107721 +205704 189754 +20197 21549 +176685 187456 +40236 38693 +165890 165849 +175987 179966 +171872 182952 +15740 15676 +60845 56610 +177176 162423 +71264 70262 +41507 44559 +43083 47191 +82556 90125 +12635 12071 +159724 155351 +76507 77185 +176392 164944 +151340 163875 +108260 117514 +73084 71223 +1770 1960 +196221 199420 +104142 112213 +103083 98838 +43051 39707 +24461 24046 +69593 65441 +107177 100807 +170606 157444 +66610 65759 +69408 75600 +150281 148669 +180375 194715 +78621 78494 +139130 143422 +44168 41078 +141967 141489 +121608 133029 +177242 172546 +64144 66679 +37415 36850 +62582 60568 +112191 119148 +137569 135635 +184295 186594 +20118 21957 +212791 196102 +19960 18274 +84220 86626 +176143 171619 +135135 145301 +77076 80075 +93560 100075 +170425 184085 +119034 114391 +118915 123068 +149031 146512 +173143 180966 +188947 180421 +128944 141294 +92942 88061 +57878 54412 +61540 64719 +135278 126052 +95548 101307 +125090 125672 +178762 181988 +57402 55082 +151482 162859 +75935 78593 +30890 29993 +37611 35159 +54298 50952 +153273 160846 +32856 34943 +203781 188877 +129970 142120 +140102 146475 +43327 43583 +118548 127734 +143253 143225 +137955 142495 +161229 166718 +11073 11078 +181601 188357 +40154 38430 +25068 25227 +203062 191741 +161309 166768 +47786 46787 +18706 19246 +32513 33956 +109081 108278 +43873 45523 +201633 188777 +183297 197004 +31237 31984 +138254 152702 +86378 85304 +123865 125972 +189672 182157 +214003 195423 +120197 131602 +128094 134946 +95273 87323 +8081 8633 +45875 43495 +142344 135078 +128469 131709 +131801 132217 +70066 70049 +101265 98524 +165606 162355 +126452 135352 +70888 66213 +193626 198984 +144707 160535 +120861 111288 +40658 43665 +15605 17273 +35604 37660 +198943 187492 +2465 2493 +164261 171080 +151805 166479 +143076 131922 +183787 188732 +22772 24472 +135374 145816 +101472 108034 +170257 160730 +193644 177941 +119582 114359 +62789 57821 +29968 31197 +118586 129527 +195747 178057 +80078 85048 +160301 153221 +133285 137405 +160678 163073 +71679 75537 +8579 8653 +171407 169140 +185604 171633 +23011 23502 +53559 58666 +62804 67312 +108053 110081 +48903 50114 +11726 11400 +157492 164751 +48223 50868 +45356 46698 +162857 178706 +110108 112315 +160951 172712 +36057 33321 +13069 14185 +45426 48806 +194147 182163 +121942 118482 +31697 30505 +65579 60685 +125942 127496 +146431 160156 +60369 57513 +39700 36726 +148555 145202 +107910 104236 +110129 102073 +80516 81972 +44641 48662 +33498 32721 +100005 97635 +79415 76000 +132021 120530 +70946 74688 +60637 56044 +104480 104927 +89816 81762 +173908 165214 +5383 5777 +23903 23776 +66611 70295 +29547 28724 +106121 105164 +2824 2716 +193115 180704 +109414 116474 +154093 144847 +62525 64598 +36726 39683 +9804 9998 +176340 161222 +57276 52315 +103032 102305 +142174 142011 +73812 80598 +95796 92289 +104843 112119 +149691 157365 +58927 62754 +6204 5865 +174928 179418 +166378 166489 +48851 44482 +126769 138365 +147272 153016 +106087 100079 +176320 174155 +171929 164468 +42714 43163 +140523 148521 +121300 116172 +20007 18508 +2306 2470 +1761 1635 +68352 64972 +93953 90636 +200917 189847 +125926 118947 +104633 99279 +34974 35721 +171571 160837 +160976 150295 +88160 93136 +18769 18719 +16588 17506 +30562 33307 +74 70 +53136 53557 +168129 183864 +174233 192946 +125566 138977 +176216 192316 +158287 173229 +183913 196106 +91993 93707 +68921 68910 +129994 136640 +144082 157819 +85434 88296 +89723 82640 +85578 79947 +133381 146950 +205487 193176 +155643 154034 +105560 105153 +153197 158615 +24338 24242 +79607 87595 +33392 36335 +27568 27460 +214828 196297 +45382 46687 +166146 154620 +14633 13325 +71560 78760 +158650 160187 +120640 118570 +2853 3036 +114446 122519 +85458 90421 +159488 165780 +92124 88196 +86517 81685 +76522 75150 +42025 41456 +19340 20292 +37734 34717 +87858 84113 +148909 160653 +24979 25603 +177142 165475 +72442 69523 +130445 141907 +152225 153811 +66773 68694 +86941 84595 +121284 134151 +12259 11887 +135429 140061 +82842 78937 +160873 169670 +81234 74302 +92582 89180 +96440 92216 +21274 20998 +51126 47376 +159313 170350 +60730 61645 +157040 142938 +138917 131741 +157475 173353 +11666 12575 +3817 3948 +51955 52939 +27053 25247 +24956 24831 +23771 26371 +93472 90918 +76441 76825 +5801 5703 +179174 174205 +58017 64296 +12642 12828 +137808 136092 +196753 194515 +170622 158576 +65778 61413 +69283 67182 +41737 40921 +44710 43084 +171417 175854 +38807 39989 +164086 169276 +27774 26673 +95352 101609 +76721 72307 +124254 133700 +46724 46783 +44291 47489 +12874 13814 +120100 132497 +51764 51135 +193729 197790 +201389 185940 +119077 129248 +70358 75494 +178913 178207 +142018 143790 +130532 127749 +66433 61394 +186376 180703 +131358 131119 +91568 91696 +181279 199625 +17926 17074 +24617 25356 +159196 175978 +77024 80126 +43502 40614 +24603 22532 +165918 163094 +184306 191822 +36121 34821 +160381 157727 +184467 179186 +165713 157628 +143091 136399 +164088 170801 +156420 155541 +27480 27258 +92463 101122 +4849 5269 +98630 98737 +41542 40162 +106081 100052 +101674 101747 +53413 54095 +2813 2998 +117900 119540 +13622 12540 +78883 82135 +166625 153125 +213090 195342 +86062 91242 +117076 121863 +141019 142087 +159402 151110 +76630 83587 +77617 72377 +98448 91037 +195223 189817 +166957 165141 +137696 147551 +116080 113300 +34624 33473 +96110 103225 +78336 82824 +56529 59008 +24122 22447 +9886 10513 +188649 195738 +44362 41315 +200662 199185 +146809 152715 +62921 60695 +73067 75621 +33388 35243 +129407 118429 +143732 141978 +102905 110875 +90261 96639 +127353 124937 +183113 180313 +45623 43842 +86583 94855 +31266 29976 +505 482 +78786 77762 +149688 138935 +159382 147744 +16370 16543 +65520 59949 +55601 59581 +49420 53248 +89124 97236 +8591 8703 +98790 93251 +47170 44192 +71810 79518 +90541 88797 +48350 45161 +185628 173620 +138335 150707 +85029 79064 +178262 196109 +186449 183927 +56736 51942 +945 873 +36813 39428 +194634 186994 +179785 164257 +8838 8628 +134862 147040 +73542 78004 +106849 104746 +107414 110470 +141805 140905 +87894 87448 +101650 93985 +199230 197337 +52897 55014 +40725 42180 +111996 105022 +180125 199437 +24435 25811 +43414 44326 +173906 170645 +116683 108270 +73221 72234 +101087 95735 +135214 150163 +183731 191282 +168753 169820 +108507 113082 +128873 119551 +69404 72633 +58102 58519 +99233 93499 +101347 100348 +1825 1933 +104883 97919 +39023 36625 +193131 193283 +1889 2081 +3562 3638 +75010 79838 +141751 139819 +8524 8340 +115177 112278 +143489 154123 +23239 21155 +107918 110509 +47759 45491 +8420 7887 +160306 155123 +96095 101150 +127567 117083 +105706 105127 +193565 186816 +138990 141634 +157027 149527 +5072 5532 +27795 26503 +22150 20832 +43674 48425 +91471 84034 +124288 137631 +67315 73384 +50491 47374 +121273 116660 +28250 27833 +149662 136242 +16564 15291 +44627 41883 +17801 17377 +40201 39108 +9244 9186 +46533 48550 +96684 100155 +53198 55882 +106756 107243 +191249 179473 +47834 51400 +182518 167773 +116100 120317 +142339 141024 +143780 147361 +116958 125503 +78498 80180 +67660 74402 +166201 166648 +194756 180955 +85993 80554 +97903 95472 +75474 82268 +48243 52935 +149099 148400 +173025 178797 +134189 148339 +87808 81794 +85108 87379 +95286 94149 +50465 51838 +84577 81400 +148574 160089 +80951 80943 +54469 59418 +157635 148283 +49119 46979 +164517 163885 +78071 82684 +35958 39305 +181384 184139 +132331 133321 +104255 100978 +129021 133002 +138051 132645 +155879 163992 +193084 189734 +158414 160401 +151780 149247 +139593 131128 +131708 145115 +78878 85784 +129921 123266 +38373 41490 +54719 58736 +80963 82502 +83623 86800 +31618 32794 +14388 13082 +78323 82858 +77042 72710 +103969 104204 +147337 163371 +141442 140350 +25995 25721 +119946 130159 +138607 133647 +111730 108198 +102402 95290 +69691 71507 +50100 53131 +94493 88176 +158050 152724 +25522 23636 +84024 87551 +81827 79764 +29250 29130 +73910 71190 +127142 120226 +80896 87347 +140544 136795 +80459 82696 +177283 189002 +4303 4378 +183668 169856 +119552 120547 +32914 32291 +83282 76733 +173091 166250 +163715 168682 +159181 173940 +135540 134142 +155287 145542 +89652 85610 +125703 135712 +50743 48293 +88149 84282 +13945 13176 +103616 106080 +83453 78887 +120533 118119 +26109 27383 +53409 56267 +146397 138273 +145789 156583 +81258 83345 +59023 53775 +5768 5723 +49657 54797 +160341 176507 +26066 27383 +150180 165639 +136610 144681 +39281 40371 +17441 16357 +166808 160384 +186475 196547 +63529 66883 +74308 81814 +194116 182542 +16501 18269 +10545 11389 +52982 56419 +7593 8415 +65913 59956 +92291 95166 +28450 26044 +63434 68749 +118453 121981 +130253 137325 +178899 174892 +12604 12955 +27610 26857 +89750 94842 +208385 195162 +151414 167225 +164019 159139 +185806 195361 +100156 96387 +39698 38078 +55607 61518 +85794 82663 +12230 12867 +165703 171115 +76463 80585 +100012 100249 +6763 6987 +12343 12332 +57602 53485 +62914 60817 +157891 147113 +34803 37591 +121395 113739 +185922 188530 +98746 106629 +167379 158124 +35874 34991 +125566 137961 +166518 162463 +114212 109589 +91053 100194 +17637 17260 +7792 7252 +10448 10597 +28625 29217 +103052 96188 +53168 48664 +13675 13659 +29419 31401 +35591 39460 +13549 13371 +49846 55197 +4099 3756 +163079 172409 +84869 86566 +24311 24063 +132550 125274 +11277 11481 +107984 112796 +65753 65787 +78471 74587 +193519 192238 +113633 121787 +71734 68600 +97442 97105 +99641 105514 +89126 84922 +101764 99846 +104057 111321 +17171 17610 +103735 100011 +176425 160925 +17871 18248 +158341 153173 +162906 161528 +57529 58083 +71611 67311 +184010 184284 +101099 108839 +5117 5604 +12808 12504 +22369 22649 +24879 25815 +62172 66586 +39070 39816 +140330 134162 +51729 52737 +104693 102500 +120682 125501 +150014 162580 +41845 42810 +145340 156432 +24188 23728 +9631 9466 +186386 169838 +144362 144211 +187916 173266 +47945 53189 +12258 12196 +149613 153292 +133782 127887 +128413 141059 +20379 18686 +203436 185671 +126027 130767 +91229 96266 +34327 31351 +81618 88118 +172740 173810 +194144 186939 +25471 23908 +39841 37815 +8584 8465 +112273 120705 +19216 17846 +46576 45522 +122795 118466 +74558 78673 +108537 99764 +42823 44602 +49159 54034 +9545 9706 +173258 166275 +195027 189577 +12713 13706 +20909 22676 +46831 43999 +194707 182406 +16076 16300 +90839 92066 +148906 154401 +63759 65696 +199360 187700 +27728 26993 +21395 21304 +52131 48305 +88281 86873 +162862 152425 +64433 60594 +128114 129341 +181153 168203 +39684 36664 +31201 28466 +90771 91058 +143463 143604 +15119 15772 +125841 131128 +14780 14376 +111100 105657 +175240 173783 +204825 191646 +59381 54752 +79055 75192 +147110 139386 +144232 155863 +88139 95879 +46210 45193 +134938 129181 +90158 93233 +90508 94257 +13618 14527 +172129 185442 +126037 128913 +42881 45471 +58541 59942 +19362 19767 +110227 120507 +176936 165500 +73021 71108 +142066 138578 +11219 11016 +7273 6617 +35875 38425 +5882 5940 +64522 59055 +38530 36790 +61139 66529 +28927 28777 +121810 113919 +73312 70010 +193396 196622 +126793 135620 +167951 166881 +27556 29559 +83015 81296 +33598 34853 +59028 65304 +178255 163625 +48859 49295 +40089 40436 +6338 6529 +103183 100469 +156880 153772 +167737 156260 +12978 12629 +199873 193836 +127205 136646 +87815 88691 +145419 147620 +100104 93063 +140099 135408 +61152 60902 +53966 53658 +199253 199658 +12414 11645 +81279 78799 +148192 144444 +99827 94498 +208975 192439 +126817 133449 +74870 75625 +27527 29161 +205752 198881 +125836 121527 +93100 90010 +115972 122079 +179565 183673 +662 714 +139231 147108 +106881 103568 +80914 84666 +121689 132794 +72344 78578 +180938 166002 +157841 171539 +67761 63945 +129855 139213 +163821 178405 +85552 92979 +124 134 +29487 30550 +15710 16499 +89189 81855 +32233 31237 +11321 11016 +172718 168783 +13260 12311 +142160 146152 +12558 12088 +51656 47384 +179756 187414 +11307 12315 +104426 108502 +176804 191892 +184676 188049 +150241 163089 +175384 190443 +76774 78839 +97131 89044 +91019 85578 +117480 122971 +21781 21147 +81811 89194 +35764 34575 +98989 95394 +164002 174791 +91219 98452 +65776 70385 +16383 18200 +164632 159467 +65908 69390 +26826 25935 +44499 44463 +179749 163423 +114203 118223 +138561 152526 +96930 106609 +125304 137129 +162460 172870 +50921 50016 +181539 187524 +39303 41525 +80895 83360 +116998 114432 +160629 151335 +108015 114332 +15683 16318 +933 882 +170461 188532 +104903 109408 +197932 183297 +30591 32197 +151515 143326 +73561 74091 +195541 186240 +64894 65810 +186143 174514 +168209 157141 +183692 186958 +82831 89404 +34941 37591 +135503 136221 +76836 73718 +5748 6383 +105945 96912 +174423 170540 +15861 17152 +175280 177058 +33077 32630 +134444 125527 +30798 33643 +87805 87959 +54025 59008 +68463 74204 +53135 53170 +16085 16728 +175390 171196 +49309 48545 +44812 40906 +8118 8377 +189799 194453 +46889 48889 +17001 16991 +26340 25562 +92154 97677 +96880 102816 +113850 108956 +194979 185380 +171373 159745 +77892 71676 +159520 161890 +172453 161865 +28422 26666 +60441 65820 +23520 21517 +56204 51397 +4027 3992 +35321 37882 +135457 146227 +170089 166433 +23296 23095 +171570 160186 +119989 129958 +168013 166444 +18047 16843 +4206 4074 +22334 20335 +98716 92738 +45415 48821 +58424 53314 +24770 25299 +202594 186759 +127343 125165 +36863 38499 +122154 112719 +89024 82986 +142515 134215 +28319 29850 +135835 150237 +38593 37988 +3468 3185 +23754 25499 +115843 123695 +191192 181560 +90693 100400 +64833 67784 +191918 196336 +131346 127090 +106817 102824 +168934 168425 +184715 168968 +60235 58922 +214131 197907 +84171 82098 +30651 31958 +26059 28864 +127206 129030 +85308 79426 +183854 172149 +80033 81183 +3781 4081 +83953 77728 +60934 60473 +47201 45116 +60371 61469 +134736 142462 +111151 108785 +194540 180501 +29934 28333 +89403 97464 +159053 161572 +101719 94067 +84646 83551 +177190 179731 +5868 6230 +108432 110250 +119729 127626 +135515 150272 +28904 31874 +60800 66070 +99320 98464 +33843 31448 +169548 165790 +105430 103966 +61909 61482 +45212 45599 +88519 91804 +172979 168947 +131460 120528 +85378 90178 +159756 147621 +13545 12878 +74785 74129 +99447 97435 +101808 106078 +198611 188023 +114780 123140 +41734 39593 +39001 42980 +67014 64634 +185242 174879 +27814 27162 +211573 193873 +73661 71281 +13051 13677 +163966 162436 +96669 90998 +117903 129023 +36356 37400 +60221 58213 +65347 63137 +163335 179473 +160385 171039 +46584 45863 +121329 127766 +4096 4061 +180430 170398 +177568 171487 +116558 123415 +66116 66020 +204474 190731 +175818 172555 +22471 23326 +5050 4785 +46364 44212 +89145 89106 +107414 104415 +148768 137560 +154636 167811 +13711 14725 +157677 154441 +51902 55226 +191525 185916 +31902 31842 +57690 56387 +51616 48958 +122577 118907 +30177 32333 +21510 21233 +85455 78807 +91180 94393 +92365 90454 +169286 185005 +179887 190850 +45660 48134 +76229 83512 +130211 135760 +79629 76614 +170441 173837 +1767 1877 +133756 142441 +39729 40243 +202578 185492 +110912 117372 +85381 94081 +70181 77797 +146647 136827 +26282 24869 +162513 179807 +86220 95425 +163211 175226 +169395 173874 +7858 7359 +205641 199028 +99291 104677 +141700 131566 +60662 62875 +81324 82361 +34147 33577 +135262 149902 +159434 174309 +69169 69905 +11776 12494 +75995 71476 +178870 177928 +93492 91913 +137241 133620 +119460 127016 +98751 94123 +18279 17529 +106476 106712 +174137 178783 +195268 187823 +58957 62402 +23176 21838 +47702 51127 +89303 84270 +24632 27213 +147738 149765 +69007 72246 +114609 127100 +194492 190416 +73511 69704 +164426 163023 +56441 52903 +151663 163401 +152937 145145 diff --git a/knapsack/data/ks_1000_0 b/knapsack/data/ks_1000_0 new file mode 100644 index 0000000..4b704d2 --- /dev/null +++ b/knapsack/data/ks_1000_0 @@ -0,0 +1,1001 @@ +1000 100000 +11264 10483 +3619 3407 +8178 7509 +14020 14670 +14436 14975 +12955 13037 +15258 15504 +5733 5615 +11573 11176 +3854 3597 +12351 12375 +14252 14094 +14893 16415 +7743 8479 +3235 3336 +17432 16240 +12031 11200 +19057 18379 +9910 9036 +6524 6929 +16201 16528 +12129 11283 +17895 17879 +6264 5738 +9223 9120 +2115 2291 +140 133 +5387 5707 +5469 5449 +19423 19202 +12708 14077 +12445 13535 +4039 4015 +17476 17040 +14556 14447 +4138 4428 +14709 14111 +13840 12968 +18602 19095 +17559 16178 +3181 2962 +4366 4461 +11277 10553 +7636 7177 +4496 4138 +10605 10270 +5754 5829 +1531 1477 +4301 4370 +10745 11315 +8288 7922 +8831 9747 +20397 19968 +12886 11935 +13644 13860 +9823 9083 +16368 16948 +16507 17102 +8456 8839 +6646 6045 +7541 7992 +11862 12006 +4094 3923 +18307 17718 +5058 5567 +6027 6055 +14515 16104 +18273 17146 +8405 9063 +14384 15981 +8622 8369 +19918 19513 +5685 5753 +21016 19978 +16395 17091 +6352 5884 +38 38 +2881 2638 +12467 12412 +4882 5126 +15580 14217 +13646 13409 +19153 19334 +16726 16437 +10088 10633 +15724 17413 +8905 8851 +5780 5823 +921 1013 +5257 5430 +16771 15328 +84 88 +9063 9448 +5522 5515 +11864 12051 +9134 8712 +9506 8772 +6421 6420 +9883 10815 +18961 17495 +4080 3736 +13077 12571 +14824 13565 +13782 15011 +20925 19132 +10517 10213 +11094 10674 +663 614 +16588 15762 +15303 15632 +5582 5486 +1268 1266 +10959 12004 +914 852 +16522 16616 +12721 11574 +5356 5802 +7068 6980 +8840 8324 +5479 5912 +8068 8419 +8010 8236 +17378 18159 +6726 7386 +1007 920 +8771 9746 +365 383 +19226 17751 +4595 4670 +6962 7062 +12902 12789 +14625 15012 +11328 12466 +2237 2419 +16307 16412 +16238 17489 +6923 6556 +4789 4382 +7427 7785 +19180 18183 +16913 17710 +12851 13092 +5285 5178 +3650 3818 +7638 7716 +9630 10221 +14215 14137 +12565 13526 +9011 8516 +15475 16797 +12491 13784 +10189 9444 +15038 13885 +9187 9231 +17232 15925 +7717 8131 +604 617 +2270 2394 +11363 11957 +7923 7680 +17028 16620 +14418 13294 +6735 7401 +17592 16065 +11624 12020 +366 405 +558 558 +6398 6147 +13816 15129 +11737 11220 +10027 10278 +6067 6145 +18156 16732 +1704 1833 +2780 2882 +16093 15150 +16292 16841 +18073 19180 +14625 14329 +5524 5591 +2174 2262 +1509 1456 +10701 10479 +15543 16547 +16212 16932 +663 640 +4820 4689 +4469 4628 +13251 13531 +9782 9892 +3376 3637 +14537 13446 +6393 6127 +18091 19387 +1007 924 +4719 4973 +2731 2623 +7361 8001 +18781 18450 +7485 8216 +9681 10194 +129 136 +7447 7402 +14375 15186 +14861 14138 +18704 19040 +2223 2307 +1925 1949 +3543 3346 +12981 12688 +253 231 +9354 8855 +17008 18338 +6065 6300 +12008 11561 +6213 6550 +4830 4567 +4938 5279 +17459 17412 +16362 15693 +14750 14733 +12605 11952 +11942 11616 +4622 4295 +6006 5927 +6941 6655 +17838 17646 +16131 16040 +6518 7186 +4877 4758 +11131 10888 +2421 2577 +595 584 +6092 6105 +18411 17908 +16526 16219 +12241 13224 +3340 3144 +14182 14848 +9390 9304 +13642 13824 +10644 11066 +4466 4356 +2603 2454 +10392 10597 +7346 7010 +2234 2213 +2395 2397 +17634 17463 +6501 6027 +6445 6862 +16564 16302 +13834 14528 +4588 4445 +10163 9590 +3926 4196 +3998 3987 +3314 3255 +2390 2366 +1856 1908 +6930 6862 +17224 17876 +8160 8434 +12400 12398 +12125 13146 +7655 7241 +10318 10245 +9013 8251 +13327 14408 +11594 12226 +7908 7863 +7858 7454 +10983 11347 +18153 18026 +6887 6704 +5399 5557 +960 994 +12768 12929 +5096 5508 +9668 9751 +8968 9060 +9286 9733 +8823 8622 +5024 4630 +3718 3571 +12738 13068 +9113 8790 +17931 19516 +10972 11124 +13488 13158 +1150 1101 +102 111 +332 339 +2796 2813 +16837 18190 +14485 14222 +5471 5353 +10015 9621 +6774 6493 +4878 4467 +6273 6679 +5822 5774 +11833 11049 +9377 9456 +16007 16842 +1336 1375 +10170 10858 +6281 6612 +11622 10615 +5176 4826 +20988 19301 +9063 8773 +13178 13565 +17630 18381 +17941 16773 +13622 12709 +15146 16200 +7554 7100 +12055 12577 +4613 4912 +16116 17769 +4613 5066 +21495 19995 +7256 6905 +14024 13920 +7120 7374 +15524 14333 +10670 10674 +11541 12469 +1208 1280 +11355 11675 +19585 18402 +9217 10104 +17452 17611 +2779 2773 +12244 12590 +15347 13958 +8243 8410 +7508 7475 +5097 5395 +18521 19876 +15819 14509 +8774 9449 +14418 13159 +12593 12291 +19647 18594 +8278 8723 +652 701 +980 1020 +11509 11246 +17117 16407 +3521 3775 +15894 16115 +3112 3203 +8734 9607 +8558 9300 +17881 17110 +3342 3210 +17426 17662 +17669 19481 +221 221 +3937 4264 +8743 8576 +9075 9961 +15538 14505 +7189 6778 +16607 16508 +3323 3255 +18143 19430 +5065 4794 +3040 3147 +2180 2321 +20323 19499 +10685 9945 +9099 8399 +10119 11036 +11468 10774 +9830 9093 +8643 8119 +5190 5724 +18158 18770 +13656 13922 +19054 18839 +15079 14058 +506 466 +14043 14418 +10122 9298 +2248 2461 +11989 10997 +6792 6319 +10086 9714 +7929 8004 +15029 15554 +10762 10445 +5739 5227 +9524 9768 +18379 18251 +19221 17691 +6865 7229 +6035 5612 +12226 13419 +6081 6240 +169 177 +19458 18542 +9604 8873 +8516 9407 +7692 8473 +2079 2181 +7280 6933 +5176 4725 +6580 6098 +13574 14306 +15025 14728 +6335 6456 +8897 8738 +7135 6897 +12044 13094 +10055 9847 +4408 4283 +17513 18167 +18039 16476 +20129 19422 +10923 10488 +14504 15027 +17026 15715 +6297 6352 +14642 15197 +15359 14303 +5263 5245 +7286 7437 +2944 3194 +3120 2893 +10587 9941 +1042 1100 +15535 14566 +9594 8972 +15226 16161 +13275 13823 +19585 18629 +13248 13442 +14114 13665 +14896 14931 +16452 15075 +3846 3985 +14234 14750 +7271 7663 +14993 14456 +8085 8852 +2524 2766 +9050 8434 +10053 9956 +7115 7680 +7578 8108 +7596 6998 +5306 5329 +9212 8869 +18251 17186 +16850 16209 +3302 3254 +4707 4781 +14857 14592 +18186 16817 +9095 8752 +8840 9625 +11764 10787 +215 221 +11866 12201 +16200 15145 +10481 11185 +2781 2744 +13203 12275 +4913 5074 +16875 15993 +5685 5823 +930 875 +14670 15686 +12566 12214 +12547 13927 +16109 14744 +4067 4114 +12956 14186 +5335 5826 +18266 18058 +2838 2841 +11759 11460 +11450 10424 +16208 17181 +18123 18299 +16836 17404 +8559 8592 +7075 7478 +456 466 +15966 17524 +12166 12166 +1449 1602 +2106 2065 +7391 6838 +3227 3124 +6685 6779 +20820 19941 +7730 7354 +19210 19467 +15569 16804 +650 694 +9142 8318 +13546 13304 +256 234 +16447 15396 +496 462 +11241 11138 +15964 16931 +15815 16811 +18435 19291 +15739 16071 +13879 13776 +18917 19009 +4171 4197 +18277 17540 +8504 7996 +13710 12469 +1999 2004 +1294 1292 +20384 19451 +3040 3023 +3220 3480 +6064 5517 +14218 15534 +3142 3189 +17658 19342 +15676 16976 +4988 5116 +11528 11457 +16862 16379 +4910 5176 +1407 1336 +2623 2733 +10573 9744 +5411 5087 +12321 12863 +17654 17417 +9667 10630 +14295 15645 +8003 7896 +411 449 +18780 17569 +583 579 +1662 1844 +19157 17977 +2513 2543 +12311 12313 +111 109 +9236 10002 +9191 10120 +14781 13446 +4367 4552 +14223 15300 +19190 18861 +15119 14598 +1425 1397 +18115 16708 +5212 4810 +2728 2834 +3005 3243 +2996 3197 +7701 8373 +10910 11294 +9781 9966 +5619 5976 +16210 17614 +19562 19284 +825 779 +520 566 +15474 14975 +14572 13435 +3066 3128 +11561 11090 +116 124 +5962 6100 +1665 1814 +5826 5441 +574 545 +17976 17176 +11581 12176 +12459 13459 +17492 16152 +18730 17629 +2358 2203 +5680 5617 +17287 16690 +16583 17520 +7465 8022 +19201 19294 +19806 19883 +15151 16314 +2500 2601 +10397 10584 +1167 1096 +19158 19101 +1999 2151 +19810 18487 +15571 15609 +15359 15542 +10264 9485 +3967 4202 +18341 17465 +10563 10202 +10481 10467 +9540 9566 +893 875 +2995 2810 +14799 14231 +1147 1144 +13871 14716 +2556 2625 +17325 18727 +235 247 +17922 16902 +1194 1106 +2384 2453 +20172 19317 +14688 15432 +9998 9196 +15401 15826 +12859 12901 +18889 17232 +14644 13896 +18870 18901 +303 276 +12151 12819 +1294 1207 +10467 9667 +10860 11561 +12040 12753 +10192 9926 +1928 1831 +11804 11654 +10697 11636 +8573 8699 +19125 19096 +16828 16486 +16636 15151 +4412 4118 +3439 3127 +3924 3711 +1453 1472 +14127 13267 +11868 11568 +13130 13503 +5521 6095 +17478 16101 +18248 18998 +11437 12177 +2990 3183 +11320 12314 +8768 8744 +2344 2327 +5240 4954 +6802 6363 +154 145 +18476 19438 +20286 18807 +12451 12042 +7184 7873 +635 591 +9875 9685 +17941 17059 +5009 4662 +12070 11722 +17680 16655 +14816 15229 +12464 12408 +12399 12618 +11973 10951 +3157 2920 +7041 7670 +693 725 +3652 3596 +15973 17359 +15830 17515 +18920 18347 +5293 5110 +6126 6517 +12811 12989 +5309 5540 +63 70 +3010 2873 +10942 11418 +4265 3956 +15408 15113 +1531 1395 +10782 10010 +20756 19593 +9089 9651 +4046 3862 +6818 7202 +12684 13192 +1210 1254 +5291 4942 +14880 13565 +7089 7573 +5534 6058 +2375 2337 +8944 9762 +5247 4777 +6971 7476 +16733 16880 +20948 19187 +17473 19036 +12052 13153 +5240 5620 +17428 17977 +3407 3770 +3240 2969 +5783 5443 +2618 2475 +5198 5199 +6565 6158 +10376 10282 +20666 19301 +4790 5150 +11236 10492 +17084 17074 +17154 16755 +13099 13122 +9449 9577 +14627 13660 +828 837 +10949 10133 +9165 10147 +15795 15271 +1269 1338 +13044 12776 +5259 5638 +5869 6311 +2810 2935 +12795 11685 +8649 8214 +16718 15565 +11375 10990 +18021 16657 +17074 16126 +19169 18947 +8845 8506 +12900 13421 +17177 16185 +6694 7342 +4791 4383 +5271 5650 +14498 14727 +970 1068 +18028 19564 +12257 12914 +7577 7668 +732 757 +6066 5722 +14076 13532 +9951 9302 +10142 10044 +16076 16139 +709 694 +18104 16718 +10387 11021 +4615 4558 +15895 14722 +15740 14947 +16809 17102 +3173 3351 +15721 15323 +15349 15884 +3898 3904 +931 873 +16319 16663 +18163 18916 +13895 14460 +9571 9261 +16535 18372 +13041 12341 +1812 1975 +7697 7546 +8746 8908 +7720 7408 +2328 2560 +9683 10189 +4409 4307 +1977 1937 +6068 6303 +13822 13711 +10688 10133 +16223 17117 +13504 14678 +11270 11444 +5615 5419 +13576 12548 +14954 14945 +1117 1176 +3510 3428 +12272 12417 +14207 14007 +13519 13057 +1242 1325 +17535 16407 +2295 2088 +2626 2754 +18348 17388 +16724 16691 +15243 16926 +4240 4628 +12331 13374 +17792 19054 +20437 19230 +6930 7452 +4978 5182 +7331 7530 +6446 6662 +13826 13641 +11818 11391 +4555 4914 +3898 3822 +14778 16020 +8696 8238 +11898 11676 +19307 18281 +9461 9312 +9973 9651 +1357 1288 +17539 17091 +12570 11609 +17460 18542 +14865 15039 +8316 8353 +18937 17431 +11989 12155 +12438 13782 +7880 7206 +4048 3705 +15936 15312 +14380 14410 +1036 1098 +4995 4556 +12709 13212 +16140 16676 +11113 12162 +1177 1092 +774 808 +6409 6132 +4510 4413 +17640 17791 +13586 13463 +19709 18584 +7659 7779 +10587 11687 +11173 11206 +5357 5843 +16135 16598 +18955 18797 +17872 17166 +10671 10391 +595 658 +12788 12624 +14642 14559 +13155 12606 +12327 11822 +4804 5270 +5676 5669 +1512 1418 +17616 16729 +1025 1072 +2439 2501 +15284 15114 +11325 12256 +4409 4119 +10534 10909 +14153 14486 +9884 10948 +3311 3539 +8477 7913 +10674 9839 +666 646 +11945 11408 +19969 18426 +3425 3778 +9498 10461 +6763 6952 +11765 11519 +1252 1316 +16627 15516 +8728 8638 +13338 14717 +8676 8244 +438 399 +15160 16735 +6214 6008 +13733 14621 +14877 13787 +8319 8736 +5844 6474 +6003 6131 +10419 10211 +13756 14020 +12327 11432 +4761 4659 +4786 4959 +17934 19509 +12358 12130 +15642 14277 +12069 11396 +20852 19080 +8698 8770 +15387 15995 +9147 8609 +9856 10556 +2189 2249 +17139 16049 +2966 2717 +10975 11384 +51 54 +7001 6988 +10703 10620 +12183 13233 +11535 11008 +1377 1373 +12065 12057 +9799 9667 +14630 16249 +4427 4605 +9084 9579 +18208 17973 +9639 9963 +19036 17520 +1 1 +17013 18840 +9359 8732 +18992 18180 +11470 12584 +4079 3878 +17443 18859 +13877 13905 +1521 1537 +12553 12452 +9526 9170 +17167 18712 +15910 15501 +2928 3074 +18412 17572 +6230 6917 +191 195 +17767 19511 +14399 13581 +20192 19054 +1336 1430 +9965 9415 +18732 17655 +19385 18931 +17033 18129 +672 639 +18893 19073 +11129 10590 +19187 19644 +18242 17461 +14627 15495 +14525 15682 +15872 14774 +5669 5962 +10356 10879 +9214 8414 +18858 18842 +1516 1513 +15308 14807 +10505 10809 +9319 10204 +3602 3559 +862 826 +5498 5828 +16308 15275 +12785 13283 +8409 7818 +19704 19677 +8703 9550 +16842 16068 +11524 11268 +6731 6600 +73 73 +7779 7904 +13221 13633 +19409 18902 +17945 17239 +9218 8945 +5202 5681 +1257 1247 +12165 12334 +14820 15167 +17988 17663 +673 649 +15348 15712 +18514 17083 +18209 18002 +4969 4928 +10919 11030 +7951 7391 +16640 18087 diff --git a/knapsack/data/ks_100_0 b/knapsack/data/ks_100_0 new file mode 100644 index 0000000..ca25f20 --- /dev/null +++ b/knapsack/data/ks_100_0 @@ -0,0 +1,101 @@ +100 100000 +90000 90001 +89750 89751 +10001 10002 +89500 89501 +10252 10254 +89250 89251 +10503 10506 +89000 89001 +10754 10758 +88750 88751 +11005 11010 +88500 88501 +11256 11262 +88250 88251 +11507 11514 +88000 88001 +11758 11766 +87750 87751 +12009 12018 +87500 87501 +12260 12270 +87250 87251 +12511 12522 +87000 87001 +12762 12774 +86750 86751 +13013 13026 +86500 86501 +13264 13278 +86250 86251 +13515 13530 +86000 86001 +13766 13782 +85750 85751 +14017 14034 +85500 85501 +14268 14286 +85250 85251 +14519 14538 +85000 85001 +14770 14790 +84750 84751 +15021 15042 +84500 84501 +15272 15294 +84250 84251 +15523 15546 +84000 84001 +15774 15798 +83750 83751 +16025 16050 +83500 83501 +16276 16302 +83250 83251 +16527 16554 +83000 83001 +16778 16806 +82750 82751 +17029 17058 +82500 82501 +17280 17310 +82250 82251 +17531 17562 +82000 82001 +17782 17814 +81750 81751 +18033 18066 +81500 81501 +18284 18318 +81250 81251 +18535 18570 +81000 81001 +18786 18822 +80750 80751 +19037 19074 +80500 80501 +19288 19326 +80250 80251 +19539 19578 +80000 80001 +19790 19830 +79750 79751 +20041 20082 +79500 79501 +20292 20334 +79250 79251 +20543 20586 +79000 79001 +20794 20838 +78750 78751 +21045 21090 +78500 78501 +21296 21342 +78250 78251 +21547 21594 +78000 78001 +21798 21846 +77750 77751 +22049 22098 +77500 77501 diff --git a/knapsack/data/ks_100_1 b/knapsack/data/ks_100_1 new file mode 100644 index 0000000..0ab4e28 --- /dev/null +++ b/knapsack/data/ks_100_1 @@ -0,0 +1,101 @@ +100 3190802 +1491 3882 +399 1298 +77 654 +969 2638 +8485 20670 +55 610 +1904 4908 +703 2106 +657 2014 +932 2564 +1201 3302 +1697 4494 +462 1424 +1201 3302 +111632 267364 +9044 21988 +147380 352660 +31852 76604 +9044 21988 +9300 22700 +8660 21020 +174684 418068 +19844 47788 +9044 21988 +1635 4370 +62788 150476 +6932 16964 +6308 15516 +50 600 +4600 11300 +565204 1351508 +7463 18226 +2988 7476 +9044 21988 +9044 21988 +4040 9980 +137732 329764 +7150 17400 +9300 22700 +177 854 +372 1244 +499 1498 +15108 36516 +11108 26916 +2468 6236 +1133 3166 +1490 3880 +865 2430 +2468 6236 +2468 6236 +5974 14648 +5972 14644 +9532 23164 +1872 4844 +3964 9828 +2799 7098 +527708 1261916 +7212 17724 +3002 7504 +21004 50708 +47728 114556 +565204 1351508 +100600 240900 +118920 284740 +2822 7144 +612 1924 +6324 15548 +9508 23116 +9268 22636 +11636 28172 +210708 504116 +2176944 5204588 +930 2560 +4481 11062 +50 600 +112 724 +14434 34968 +0 500 +248 996 +48 596 +820 2340 +278 1056 +643 1986 +1413 3726 +1408 3716 +0 500 +2581 6662 +287 1074 +2040 5180 +289 1078 +1380 3660 +372 1244 +0 500 +472 1444 +360 1220 +0 500 +622 1944 +3504 8708 +5924 14548 +2784 7068 diff --git a/knapsack/data/ks_100_2 b/knapsack/data/ks_100_2 new file mode 100644 index 0000000..20bd25d --- /dev/null +++ b/knapsack/data/ks_100_2 @@ -0,0 +1,101 @@ +100 10000 +339 342 +1629 1514 +697 696 +1299 1433 +1613 1762 +36 40 +1737 1635 +473 442 +1859 1899 +2055 1960 +362 378 +1104 1177 +1880 1970 +1349 1434 +1545 1691 +132 139 +341 371 +1430 1350 +1878 1775 +1870 1980 +1536 1651 +818 814 +289 282 +1690 1573 +1437 1587 +310 302 +53 56 +720 726 +1707 1820 +258 269 +1842 1680 +757 842 +1642 1730 +1149 1243 +1970 1794 +749 775 +1904 1810 +2 3 +967 970 +1310 1261 +1004 997 +1295 1192 +1056 1036 +51 52 +1320 1453 +1580 1673 +480 440 +604 624 +1766 1813 +1198 1326 +1762 1637 +2046 1902 +315 323 +714 746 +434 471 +1461 1366 +1652 1511 +1876 1785 +906 1002 +1483 1560 +1355 1403 +510 513 +2114 1958 +1479 1505 +1618 1538 +1472 1378 +310 315 +1478 1493 +970 1066 +43 40 +1231 1172 +1792 1972 +870 956 +1484 1541 +1049 1014 +56 55 +814 793 +978 985 +1215 1311 +720 737 +210 204 +460 492 +1798 1961 +1944 1952 +208 204 +1836 1872 +882 806 +239 234 +141 136 +49 49 +1352 1363 +915 883 +1318 1259 +72 70 +937 886 +1783 1843 +1253 1319 +1268 1375 +1144 1234 +878 818 diff --git a/knapsack/data/ks_106_0 b/knapsack/data/ks_106_0 new file mode 100644 index 0000000..02873cf --- /dev/null +++ b/knapsack/data/ks_106_0 @@ -0,0 +1,107 @@ +106 106925262 +45276 45276 +90552 90552 +181104 181104 +362208 362208 +724416 724416 +1448832 1448832 +2897664 2897664 +5795328 5795328 +11590656 11590656 +23181312 23181312 +46362624 46362624 +92725248 92725248 +70778 70778 +141556 141556 +283112 283112 +566224 566224 +1132448 1132448 +2264896 2264896 +4529792 4529792 +9059584 9059584 +18119168 18119168 +36238336 36238336 +72476672 72476672 +86911 86911 +173822 173822 +347644 347644 +695288 695288 +1390576 1390576 +2781152 2781152 +5562304 5562304 +11124608 11124608 +22249216 22249216 +44498432 44498432 +88996864 88996864 +92634 92634 +185268 185268 +370536 370536 +741072 741072 +1482144 1482144 +2964288 2964288 +5928576 5928576 +11857152 11857152 +23714304 23714304 +47428608 47428608 +94857216 94857216 +97839 97839 +195678 195678 +391356 391356 +782712 782712 +1565424 1565424 +3130848 3130848 +6261696 6261696 +12523392 12523392 +25046784 25046784 +50093568 50093568 +100187136 100187136 +125941 125941 +251882 251882 +503764 503764 +1007528 1007528 +2015056 2015056 +4030112 4030112 +8060224 8060224 +16120448 16120448 +32240896 32240896 +64481792 64481792 +134269 134269 +268538 268538 +537076 537076 +1074152 1074152 +2148304 2148304 +4296608 4296608 +8593216 8593216 +17186432 17186432 +34372864 34372864 +68745728 68745728 +141033 141033 +282066 282066 +564132 564132 +1128264 1128264 +2256528 2256528 +4513056 4513056 +9026112 9026112 +18052224 18052224 +36104448 36104448 +72208896 72208896 +147279 147279 +294558 294558 +589116 589116 +1178232 1178232 +2356464 2356464 +4712928 4712928 +9425856 9425856 +18851712 18851712 +37703424 37703424 +75406848 75406848 +153525 153525 +307050 307050 +614100 614100 +1228200 1228200 +2456400 2456400 +4912800 4912800 +9825600 9825600 +19651200 19651200 +39302400 39302400 +78604800 78604800 diff --git a/knapsack/data/ks_19_0 b/knapsack/data/ks_19_0 new file mode 100644 index 0000000..d829b45 --- /dev/null +++ b/knapsack/data/ks_19_0 @@ -0,0 +1,20 @@ +19 31181 +1945 4990 +321 1142 +2945 7390 +4136 10372 +1107 3114 +1022 2744 +1101 3102 +2890 7280 +962 2624 +1060 3020 +805 2310 +689 2078 +1513 3926 +3878 9656 +13504 32708 +1865 4830 +667 2034 +1833 4766 +16553 40006 diff --git a/knapsack/data/ks_200_0 b/knapsack/data/ks_200_0 new file mode 100644 index 0000000..238a3d1 --- /dev/null +++ b/knapsack/data/ks_200_0 @@ -0,0 +1,201 @@ +200 100000 +90001 90000 +89751 89750 +10002 10001 +89501 89500 +10254 10252 +89251 89250 +10506 10503 +89001 89000 +10758 10754 +88751 88750 +11010 11005 +88501 88500 +11262 11256 +88251 88250 +11514 11507 +88001 88000 +11766 11758 +87751 87750 +12018 12009 +87501 87500 +12270 12260 +87251 87250 +12522 12511 +87001 87000 +12774 12762 +86751 86750 +13026 13013 +86501 86500 +13278 13264 +86251 86250 +13530 13515 +86001 86000 +13782 13766 +85751 85750 +14034 14017 +85501 85500 +14286 14268 +85251 85250 +14538 14519 +85001 85000 +14790 14770 +84751 84750 +15042 15021 +84501 84500 +15294 15272 +84251 84250 +15546 15523 +84001 84000 +15798 15774 +83751 83750 +16050 16025 +83501 83500 +16302 16276 +83251 83250 +16554 16527 +83001 83000 +16806 16778 +82751 82750 +17058 17029 +82501 82500 +17310 17280 +82251 82250 +17562 17531 +82001 82000 +17814 17782 +81751 81750 +18066 18033 +81501 81500 +18318 18284 +81251 81250 +18570 18535 +81001 81000 +18822 18786 +80751 80750 +19074 19037 +80501 80500 +19326 19288 +80251 80250 +19578 19539 +80001 80000 +19830 19790 +79751 79750 +20082 20041 +79501 79500 +20334 20292 +79251 79250 +20586 20543 +79001 79000 +20838 20794 +78751 78750 +21090 21045 +78501 78500 +21342 21296 +78251 78250 +21594 21547 +78001 78000 +21846 21798 +77751 77750 +22098 22049 +77501 77500 +22350 22300 +77251 77250 +22602 22551 +77001 77000 +22854 22802 +76751 76750 +23106 23053 +76501 76500 +23358 23304 +76251 76250 +23610 23555 +76001 76000 +23862 23806 +75751 75750 +24114 24057 +75501 75500 +24366 24308 +75251 75250 +24618 24559 +75001 75000 +24870 24810 +74751 74750 +25122 25061 +74501 74500 +25374 25312 +74251 74250 +25626 25563 +74001 74000 +25878 25814 +73751 73750 +26130 26065 +73501 73500 +26382 26316 +73251 73250 +26634 26567 +73001 73000 +26886 26818 +72751 72750 +27138 27069 +72501 72500 +27390 27320 +72251 72250 +27642 27571 +72001 72000 +27894 27822 +71751 71750 +28146 28073 +71501 71500 +28398 28324 +71251 71250 +28650 28575 +71001 71000 +28902 28826 +70751 70750 +29154 29077 +70501 70500 +29406 29328 +70251 70250 +29658 29579 +70001 70000 +29910 29830 +69751 69750 +30162 30081 +69501 69500 +30414 30332 +69251 69250 +30666 30583 +69001 69000 +30918 30834 +68751 68750 +31170 31085 +68501 68500 +31422 31336 +68251 68250 +31674 31587 +68001 68000 +31926 31838 +67751 67750 +32178 32089 +67501 67500 +32430 32340 +67251 67250 +32682 32591 +67001 67000 +32934 32842 +66751 66750 +33186 33093 +66501 66500 +33438 33344 +66251 66250 +33690 33595 +66001 66000 +33942 33846 +65751 65750 +34194 34097 +65501 65500 +34446 34348 +65251 65250 +34698 34599 +68451 68450 diff --git a/knapsack/data/ks_200_1 b/knapsack/data/ks_200_1 new file mode 100644 index 0000000..f72444a --- /dev/null +++ b/knapsack/data/ks_200_1 @@ -0,0 +1,201 @@ +200 2640230 +31860 76620 +11884 28868 +10492 25484 +901 2502 +43580 104660 +9004 21908 +6700 16500 +29940 71980 +7484 18268 +5932 14564 +7900 19300 +6564 16028 +6596 16092 +8172 19844 +5324 13148 +8436 20572 +7332 17964 +6972 17044 +7668 18636 +6524 15948 +6244 15388 +635 1970 +5396 13292 +13596 32892 +51188 122676 +13684 33068 +8596 20892 +156840 375380 +7900 19300 +6460 15820 +14132 34164 +4980 12260 +5216 12932 +6276 15452 +701 2102 +3084 7868 +6924 16948 +5500 13500 +3148 7996 +47844 114788 +226844 542788 +25748 61996 +7012 17124 +3440 8580 +15580 37660 +314 1128 +2852 7204 +15500 37500 +9348 22796 +17768 42836 +16396 39692 +16540 39980 +395124 944948 +10196 24692 +6652 16204 +4848 11996 +74372 178244 +4556 11212 +4900 12100 +3508 8716 +3820 9540 +5460 13420 +16564 40028 +3896 9692 +3832 9564 +9012 21924 +4428 10956 +57796 138492 +12052 29204 +7052 17204 +85864 205628 +5068 12436 +10484 25468 +4516 11132 +3620 9140 +18052 43604 +21 542 +15804 38108 +19020 45940 +170844 408788 +3732 9364 +2920 7340 +4120 10340 +6828 16756 +26252 63204 +11676 28252 +19916 47932 +65488 156876 +7172 17644 +3772 9444 +132868 318036 +8332 20364 +5308 13116 +3780 9460 +5208 12916 +56788 136076 +7172 17644 +7868 19236 +31412 75524 +9252 22604 +12276 29652 +3712 9324 +4516 11132 +105876 253452 +20084 48468 +11492 27884 +49092 117684 +83452 199804 +71372 171044 +66572 159644 +25268 60836 +64292 154084 +21228 51156 +16812 40524 +19260 46420 +7740 18980 +5632 13964 +3256 8212 +15580 37660 +4824 11948 +59700 143100 +14500 35100 +7208 17716 +6028 14756 +75716 181332 +22364 53828 +7636 18572 +6444 15788 +5192 12884 +7388 18076 +33156 79612 +3032 7564 +6628 16156 +7036 17172 +3200 8100 +7300 17900 +4452 11004 +26364 63428 +14036 33972 +16932 40964 +5788 14276 +70476 168852 +4552 11204 +33980 81660 +19300 46500 +39628 95156 +4484 11068 +55044 131988 +574 1848 +29644 71188 +9460 23020 +106284 254468 +304 1108 +3580 8860 +6308 15516 +10492 25484 +12820 31140 +14436 34972 +5044 12388 +1155 3210 +12468 30236 +4380 10860 +9876 24052 +8752 21404 +8676 21052 +42848 102796 +22844 54988 +6244 15388 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +387480 926660 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +15996 38692 +8372 20444 +65488 156876 +304 1108 +4756 11812 +5012 12324 +304 1108 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +304 1108 +1208 3316 +47728 114556 +314 1128 +314 1128 +314 1128 diff --git a/knapsack/data/ks_300_0 b/knapsack/data/ks_300_0 new file mode 100644 index 0000000..97fe8a2 --- /dev/null +++ b/knapsack/data/ks_300_0 @@ -0,0 +1,301 @@ +300 4040184 +31860 76620 +11884 28868 +10492 25484 +901 2502 +43580 104660 +9004 21908 +6700 16500 +29940 71980 +7484 18268 +5932 14564 +7900 19300 +6564 16028 +6596 16092 +8172 19844 +5324 13148 +8436 20572 +7332 17964 +6972 17044 +7668 18636 +6524 15948 +6244 15388 +635 1970 +5396 13292 +13596 32892 +51188 122676 +13684 33068 +8596 20892 +156840 375380 +7900 19300 +6460 15820 +14132 34164 +4980 12260 +5216 12932 +6276 15452 +701 2102 +3084 7868 +6924 16948 +5500 13500 +3148 7996 +47844 114788 +226844 542788 +25748 61996 +7012 17124 +3440 8580 +15580 37660 +314 1128 +2852 7204 +15500 37500 +9348 22796 +17768 42836 +16396 39692 +16540 39980 +395124 944948 +10196 24692 +6652 16204 +4848 11996 +74372 178244 +4556 11212 +4900 12100 +3508 8716 +3820 9540 +5460 13420 +16564 40028 +3896 9692 +3832 9564 +9012 21924 +4428 10956 +57796 138492 +12052 29204 +7052 17204 +85864 205628 +5068 12436 +10484 25468 +4516 11132 +3620 9140 +18052 43604 +21 542 +15804 38108 +19020 45940 +170844 408788 +3732 9364 +2920 7340 +4120 10340 +6828 16756 +26252 63204 +11676 28252 +19916 47932 +65488 156876 +7172 17644 +3772 9444 +132868 318036 +8332 20364 +5308 13116 +3780 9460 +5208 12916 +56788 136076 +7172 17644 +7868 19236 +31412 75524 +9252 22604 +12276 29652 +3712 9324 +4516 11132 +105876 253452 +20084 48468 +11492 27884 +49092 117684 +83452 199804 +71372 171044 +66572 159644 +25268 60836 +64292 154084 +21228 51156 +16812 40524 +19260 46420 +7740 18980 +5632 13964 +3256 8212 +15580 37660 +4824 11948 +59700 143100 +14500 35100 +7208 17716 +6028 14756 +75716 181332 +22364 53828 +7636 18572 +6444 15788 +5192 12884 +7388 18076 +33156 79612 +3032 7564 +6628 16156 +7036 17172 +3200 8100 +7300 17900 +4452 11004 +26364 63428 +14036 33972 +16932 40964 +5788 14276 +70476 168852 +4552 11204 +33980 81660 +19300 46500 +39628 95156 +4484 11068 +55044 131988 +574 1848 +29644 71188 +9460 23020 +106284 254468 +304 1108 +3580 8860 +6308 15516 +10492 25484 +12820 31140 +14436 34972 +5044 12388 +1155 3210 +12468 30236 +4380 10860 +9876 24052 +8752 21404 +8676 21052 +42848 102796 +22844 54988 +6244 15388 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +387480 926660 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +15996 38692 +8372 20444 +65488 156876 +304 1108 +4756 11812 +5012 12324 +304 1108 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +304 1108 +1208 3316 +47728 114556 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +104036 249172 +5248 12996 +312 1124 +24468 58836 +7716 18932 +30180 72460 +4824 11948 +1120 3140 +11496 27892 +4916 12132 +14428 34956 +24948 59996 +41100 98700 +28692 69084 +826 2352 +3073 7846 +7684 18868 +5604 13708 +17188 41476 +34828 83756 +7540 18380 +8004 19508 +2648 6796 +5124 12748 +3096 7892 +166516 398532 +13756 33212 +9980 24260 +15980 38660 +9056 22012 +5052 12404 +8212 20124 +11164 27028 +13036 31572 +23596 56892 +2028 5156 +7584 18468 +5772 14244 +4124 10348 +5368 13236 +4364 10828 +5604 13708 +8500 20700 +7676 18652 +8636 20972 +4588 11276 +4152 10404 +4860 12020 +5484 13468 +8636 20972 +5140 12780 +236380 565460 +116500 278900 +36480 87660 +16968 41036 +5232 12964 +13280 32060 +138032 330364 +9044 21988 +22028 53156 +4632 11564 +13196 31892 +65404 156708 +28940 69580 +865 2430 +45988 110276 +670 2040 +4820 11940 +41356 99212 +39844 95588 +897 2494 +4028 9956 +7924 19348 +47756 114612 +47036 112772 +25908 62316 +4516 11132 +29460 70820 +7964 19428 +16964 41028 +22196 53492 +68140 163380 +80924 193948 +63700 152700 +20860 50220 +1682 4464 +16804 40508 +3195 8090 +60348 144596 +1901 4902 +67468 161636 +4772 11844 +11196 27092 +25836 62172 +49676 119252 +6188 15276 +15588 37676 diff --git a/knapsack/data/ks_30_0 b/knapsack/data/ks_30_0 new file mode 100644 index 0000000..bf1dfd3 --- /dev/null +++ b/knapsack/data/ks_30_0 @@ -0,0 +1,31 @@ +30 100000 +90000 90001 +89750 89751 +10001 10002 +89500 89501 +10252 10254 +89250 89251 +10503 10506 +89000 89001 +10754 10758 +88750 88751 +11005 11010 +88500 88501 +11256 11262 +88250 88251 +11507 11514 +88000 88001 +11758 11766 +87750 87751 +12009 12018 +87500 87501 +12260 12270 +87250 87251 +12511 12522 +87000 87001 +12762 12774 +86750 86751 +13013 13026 +86500 86501 +13264 13278 +86250 86251 diff --git a/knapsack/data/ks_400_0 b/knapsack/data/ks_400_0 new file mode 100644 index 0000000..6324d1c --- /dev/null +++ b/knapsack/data/ks_400_0 @@ -0,0 +1,401 @@ +400 9486367 +31860 76620 +11884 28868 +10492 25484 +901 2502 +43580 104660 +9004 21908 +6700 16500 +29940 71980 +7484 18268 +5932 14564 +7900 19300 +6564 16028 +6596 16092 +8172 19844 +5324 13148 +8436 20572 +7332 17964 +6972 17044 +7668 18636 +6524 15948 +6244 15388 +635 1970 +5396 13292 +13596 32892 +51188 122676 +13684 33068 +8596 20892 +156840 375380 +7900 19300 +6460 15820 +14132 34164 +4980 12260 +5216 12932 +6276 15452 +701 2102 +3084 7868 +6924 16948 +5500 13500 +3148 7996 +47844 114788 +226844 542788 +25748 61996 +7012 17124 +3440 8580 +15580 37660 +314 1128 +2852 7204 +15500 37500 +9348 22796 +17768 42836 +16396 39692 +16540 39980 +395124 944948 +10196 24692 +6652 16204 +4848 11996 +74372 178244 +4556 11212 +4900 12100 +3508 8716 +3820 9540 +5460 13420 +16564 40028 +3896 9692 +3832 9564 +9012 21924 +4428 10956 +57796 138492 +12052 29204 +7052 17204 +85864 205628 +5068 12436 +10484 25468 +4516 11132 +3620 9140 +18052 43604 +21 542 +15804 38108 +19020 45940 +170844 408788 +3732 9364 +2920 7340 +4120 10340 +6828 16756 +26252 63204 +11676 28252 +19916 47932 +65488 156876 +7172 17644 +3772 9444 +132868 318036 +8332 20364 +5308 13116 +3780 9460 +5208 12916 +56788 136076 +7172 17644 +7868 19236 +31412 75524 +9252 22604 +12276 29652 +3712 9324 +4516 11132 +105876 253452 +20084 48468 +11492 27884 +49092 117684 +83452 199804 +71372 171044 +66572 159644 +25268 60836 +64292 154084 +21228 51156 +16812 40524 +19260 46420 +7740 18980 +5632 13964 +3256 8212 +15580 37660 +4824 11948 +59700 143100 +14500 35100 +7208 17716 +6028 14756 +75716 181332 +22364 53828 +7636 18572 +6444 15788 +5192 12884 +7388 18076 +33156 79612 +3032 7564 +6628 16156 +7036 17172 +3200 8100 +7300 17900 +4452 11004 +26364 63428 +14036 33972 +16932 40964 +5788 14276 +70476 168852 +4552 11204 +33980 81660 +19300 46500 +39628 95156 +4484 11068 +55044 131988 +574 1848 +29644 71188 +9460 23020 +106284 254468 +304 1108 +3580 8860 +6308 15516 +10492 25484 +12820 31140 +14436 34972 +5044 12388 +1155 3210 +12468 30236 +4380 10860 +9876 24052 +8752 21404 +8676 21052 +42848 102796 +22844 54988 +6244 15388 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +387480 926660 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +15996 38692 +8372 20444 +65488 156876 +304 1108 +4756 11812 +5012 12324 +304 1108 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +304 1108 +1208 3316 +47728 114556 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +314 1128 +104036 249172 +5248 12996 +312 1124 +24468 58836 +7716 18932 +30180 72460 +4824 11948 +1120 3140 +11496 27892 +4916 12132 +14428 34956 +24948 59996 +41100 98700 +28692 69084 +826 2352 +3073 7846 +7684 18868 +5604 13708 +17188 41476 +34828 83756 +7540 18380 +8004 19508 +2648 6796 +5124 12748 +3096 7892 +166516 398532 +13756 33212 +9980 24260 +15980 38660 +9056 22012 +5052 12404 +8212 20124 +11164 27028 +13036 31572 +23596 56892 +2028 5156 +7584 18468 +5772 14244 +4124 10348 +5368 13236 +4364 10828 +5604 13708 +8500 20700 +7676 18652 +8636 20972 +4588 11276 +4152 10404 +4860 12020 +5484 13468 +8636 20972 +5140 12780 +236380 565460 +116500 278900 +36480 87660 +16968 41036 +5232 12964 +13280 32060 +138032 330364 +9044 21988 +22028 53156 +4632 11564 +13196 31892 +65404 156708 +28940 69580 +865 2430 +45988 110276 +670 2040 +4820 11940 +41356 99212 +39844 95588 +897 2494 +4028 9956 +7924 19348 +47756 114612 +47036 112772 +25908 62316 +4516 11132 +29460 70820 +7964 19428 +16964 41028 +22196 53492 +68140 163380 +80924 193948 +63700 152700 +20860 50220 +1682 4464 +16804 40508 +3195 8090 +60348 144596 +1901 4902 +67468 161636 +4772 11844 +11196 27092 +25836 62172 +49676 119252 +6188 15276 +15588 37676 +4412 10924 +26564 63828 +16412 39724 +8108 19716 +6084 14868 +9884 24068 +4224 10548 +14660 35420 +25708 61916 +39228 94156 +40748 97796 +40748 97796 +64276 154052 +114356 273812 +14724 35548 +4540 11180 +11612 28124 +4972 12244 +10060 24420 +14548 35196 +3136 7972 +9132 22164 +5752 14204 +10100 24500 +12172 29444 +24428 58756 +3336 8372 +4356 10812 +8652 21004 +14492 35084 +8796 21492 +6408 15716 +6056 14812 +10124 24548 +387480 926660 +18188 43876 +7732 18964 +9492 23084 +7300 17900 +10052 24404 +19604 47308 +6644 16188 +107364 257028 +91812 219924 +4620 11540 +42848 102796 +33268 79836 +13260 32020 +6564 16028 +6524 15948 +13596 32892 +13596 32892 +47844 114788 +226844 542788 +226844 542788 +226844 542788 +226844 542788 +85864 205628 +170844 408788 +56788 136076 +6628 16156 +10492 25484 +104036 249172 +14428 34956 +14428 34956 +22028 53156 +22028 53156 +22028 53156 +25836 62172 +11612 28124 +11612 28124 +11612 28124 +85872 205644 +1377 3654 +1365820 3265540 +562272 1344644 +1445900 3457100 +501060 1198220 +106224 254348 +492496 1177692 +387824 927548 +151320 362140 +109924 263148 +105696 253092 +96404 230908 +107732 257964 +42140 101180 +102896 246292 +4036 9972 +19616 47332 +100948 241796 +1417728 3389756 +62604 150108 +491820 1176140 +33740 80980 +25216 60732 +111716 267532 +400156 957012 +108800 260500 +1211040 2895580 diff --git a/knapsack/data/ks_40_0 b/knapsack/data/ks_40_0 new file mode 100644 index 0000000..538ddf8 --- /dev/null +++ b/knapsack/data/ks_40_0 @@ -0,0 +1,41 @@ +40 100000 +90001 90000 +89751 89750 +10002 10001 +89501 89500 +10254 10252 +89251 89250 +10506 10503 +89001 89000 +10758 10754 +88751 88750 +11010 11005 +88501 88500 +11262 11256 +88251 88250 +11514 11507 +88001 88000 +11766 11758 +87751 87750 +12018 12009 +87501 87500 +12270 12260 +87251 87250 +12522 12511 +87001 87000 +12774 12762 +86751 86750 +13026 13013 +86501 86500 +13278 13264 +86251 86250 +13530 13515 +86001 86000 +13782 13766 +85751 85750 +14034 14017 +85501 85500 +14286 14268 +85251 85250 +14538 14519 +86131 86130 diff --git a/knapsack/data/ks_45_0 b/knapsack/data/ks_45_0 new file mode 100644 index 0000000..cad6bfe --- /dev/null +++ b/knapsack/data/ks_45_0 @@ -0,0 +1,46 @@ +45 58181 +1945 4990 +321 1142 +2945 7390 +4136 10372 +1107 3114 +1022 2744 +1101 3102 +2890 7280 +47019 112738 +1530 3960 +3432 8564 +2165 5630 +1703 4506 +1106 3112 +370 1240 +657 2014 +962 2624 +1060 3020 +805 2310 +689 2078 +1513 3926 +3878 9656 +13504 32708 +1865 4830 +667 2034 +1833 4766 +16553 40006 +1261 3422 +2593 6686 +1170 3240 +794 2288 +671 2042 +7421 18142 +6009 14718 +1767 4634 +2622 6744 +831 2362 +701 2102 +5222 12944 +3086 7872 +900 2500 +3121 7942 +1029 2958 +52555 126010 +389 1278 diff --git a/knapsack/data/ks_4_0 b/knapsack/data/ks_4_0 new file mode 100644 index 0000000..8e653f3 --- /dev/null +++ b/knapsack/data/ks_4_0 @@ -0,0 +1,5 @@ +4 11 +8 4 +10 5 +15 8 +4 3 diff --git a/knapsack/data/ks_500_0 b/knapsack/data/ks_500_0 new file mode 100644 index 0000000..4dd5076 --- /dev/null +++ b/knapsack/data/ks_500_0 @@ -0,0 +1,501 @@ +500 50000 +384 412 +7060 7285 +8475 8103 +5028 4876 +9741 9369 +3360 3538 +1426 1394 +2084 2204 +4865 5362 +1885 1779 +8191 8376 +6296 6460 +3292 3193 +10227 9957 +5744 5513 +2163 2365 +10738 9786 +5099 4865 +9193 9406 +7777 7455 +8538 8090 +9597 9224 +1275 1257 +6317 5831 +7598 7177 +2241 2297 +1398 1271 +4083 4216 +6033 5634 +1694 1560 +7563 6878 +12 12 +7406 6872 +7679 7142 +6619 6945 +9222 8778 +1869 1785 +6809 7485 +4961 5033 +2616 2719 +6406 6156 +1703 1826 +6415 6795 +4898 4790 +7601 7620 +2145 1971 +6559 6310 +1691 1874 +8734 8092 +9570 9321 +7649 7955 +0 1 +5652 5146 +475 517 +8789 8341 +1366 1400 +3325 3230 +5487 5443 +7316 7097 +10232 9979 +1788 1873 +9179 9259 +3790 3940 +7820 8611 +4462 4552 +832 893 +6798 7209 +5467 5319 +5573 6065 +5489 5010 +8246 8770 +2815 2918 +8766 8355 +7043 7760 +8834 8052 +8549 8969 +6511 6415 +9253 9812 +831 861 +4587 4755 +202 210 +1022 950 +867 823 +1989 2194 +2813 2594 +1711 1642 +9343 9828 +1840 2029 +2772 2575 +6035 5564 +8815 9345 +9329 8485 +354 353 +3488 3792 +2701 2645 +102 102 +3711 4046 +10505 9897 +8471 9201 +3406 3157 +10171 9442 +6862 7425 +3747 3887 +7132 7137 +7386 7590 +3073 3179 +7566 8244 +2269 2467 +7134 7291 +7750 7078 +8126 8991 +1803 1824 +8229 8894 +9725 9514 +1468 1498 +844 771 +2939 2868 +7538 7210 +380 406 +10182 9845 +176 188 +8874 8977 +5461 5808 +7833 7831 +9668 9122 +3381 3255 +8534 7808 +10002 9684 +8881 9703 +3503 3884 +2774 2742 +6546 6754 +3368 3227 +2269 2521 +3229 3149 +6703 6895 +9740 9718 +1660 1779 +4724 4906 +10161 9765 +2460 2712 +1221 1161 +893 956 +3922 3736 +3837 3854 +4564 4211 +6844 7195 +7300 7204 +550 509 +3347 3315 +8141 8090 +7173 7121 +1386 1366 +2216 2053 +4182 4310 +6496 6753 +7540 7923 +6576 7072 +745 774 +10510 9710 +5294 5494 +6752 6259 +3818 4235 +6704 6462 +212 222 +6247 5995 +7948 8543 +2763 2688 +5698 5186 +2307 2186 +7426 7303 +5292 5134 +9295 8645 +2578 2430 +6097 5571 +2925 3243 +1223 1123 +8720 8978 +4240 4139 +4344 4244 +6250 6864 +6547 7189 +4989 4641 +732 753 +4440 4445 +7861 8726 +147 147 +3066 3394 +5265 5044 +6723 7050 +7443 7655 +6062 6387 +3793 3529 +6167 6689 +1965 1918 +1479 1530 +7177 7624 +3624 3782 +6602 7203 +9195 9398 +8667 8091 +4802 4637 +3317 3035 +10496 9631 +2441 2467 +8759 7973 +320 325 +3459 3770 +4805 4396 +6153 5990 +5076 5513 +6003 6084 +2143 2027 +2915 3169 +6150 6074 +5077 4948 +3335 3361 +8400 8116 +9711 9158 +1375 1467 +6421 6150 +8784 8277 +3085 2946 +247 228 +6182 6208 +7543 7284 +2056 2048 +1198 1190 +4033 4380 +2527 2603 +4158 4618 +2552 2607 +668 609 +7843 8591 +3986 3670 +8463 8184 +6382 6242 +3103 3422 +397 385 +10619 9845 +8138 8106 +8370 8192 +4321 3974 +4514 4964 +4041 4063 +6558 6871 +397 438 +1943 2122 +319 305 +8557 8465 +10517 9695 +7573 8139 +9981 9433 +8833 8354 +5854 5944 +3796 3761 +2043 2109 +7288 7949 +7280 7744 +2163 2065 +2469 2264 +5532 5066 +2318 2387 +7179 6779 +8381 9284 +5665 5694 +3544 3303 +3108 2872 +3050 2801 +7307 6760 +528 536 +8598 8444 +1282 1404 +1912 1919 +6096 6018 +2305 2211 +3787 3723 +7142 6631 +950 965 +7389 7413 +2823 2941 +2097 1979 +7066 6576 +3447 3779 +2727 2493 +7624 8353 +764 776 +4578 4617 +2503 2653 +7276 7099 +6643 6991 +2786 2972 +2422 2349 +6811 6498 +5584 5951 +10727 9755 +3882 3987 +9566 9211 +4396 4126 +8930 8192 +831 849 +4712 4675 +657 602 +2738 3006 +6995 6708 +5598 5844 +8939 9020 +6861 6674 +9795 9952 +2090 2208 +4661 4726 +3258 3155 +6520 6999 +3040 3298 +7137 6758 +8379 8963 +7682 7553 +5225 5634 +5653 5459 +6605 6957 +8226 7939 +7947 8831 +6663 6956 +9263 8743 +8527 7914 +110 116 +486 526 +916 863 +6285 6030 +8658 8005 +9627 9516 +777 752 +5208 5569 +7641 7249 +2961 2726 +255 252 +6656 6447 +10101 9887 +124 133 +8303 7584 +7576 8318 +2428 2643 +4008 4090 +2645 2517 +756 717 +3980 4407 +2950 3236 +9529 9690 +3644 3814 +260 276 +7840 8345 +4601 4493 +7423 7117 +1692 1817 +6957 7465 +2923 3073 +1677 1792 +1138 1088 +5317 5247 +9705 9127 +840 838 +1209 1309 +2481 2369 +7686 8119 +6022 5554 +8029 8016 +5418 5101 +646 613 +9511 8848 +2350 2335 +2544 2444 +6819 7518 +1055 1044 +7563 7599 +4530 4369 +2249 2154 +2244 2095 +2976 3034 +6533 6184 +1518 1625 +2484 2603 +6100 6072 +6326 6297 +7341 7384 +8751 8748 +7195 7352 +2487 2548 +6846 7003 +1049 1102 +3670 3525 +2538 2691 +5378 5906 +1530 1403 +8675 8179 +5411 5421 +308 342 +8138 8884 +3751 4000 +5392 5535 +8288 7690 +3425 3797 +6599 6118 +1855 2050 +8516 8028 +5331 5379 +8180 7989 +708 746 +1217 1315 +5753 5983 +2918 3035 +8370 8675 +9502 9840 +10584 9793 +6538 6077 +3678 3780 +5013 5327 +8374 8415 +2038 1965 +6129 5741 +6622 6292 +7569 7366 +942 963 +1259 1194 +4277 3984 +1121 1021 +6333 5974 +8989 9647 +9265 8860 +8344 8231 +3112 3138 +3347 3355 +1352 1450 +9712 9502 +2307 2209 +5520 5095 +10137 9833 +4583 4634 +4444 4676 +6024 5990 +2481 2671 +9522 9498 +9993 9209 +5687 6004 +420 414 +5365 5480 +834 836 +4767 4745 +2409 2497 +1897 1847 +8698 9047 +4612 4405 +3524 3486 +1156 1173 +6516 5996 +7741 7139 +8546 9331 +2349 2219 +6095 6103 +835 872 +724 666 +5288 5114 +5659 6134 +2847 3042 +9627 9511 +189 189 +1509 1378 +3609 3963 +3802 3926 +134 139 +5689 6206 +9097 9077 +6347 5951 +3007 2835 +4305 3972 +3155 3228 +4130 3764 +3904 3631 +1915 2109 +9014 9897 +8504 8943 +651 708 +8947 8695 +6239 5900 +8311 8054 +1412 1422 +6513 7166 +8244 8159 +8127 8361 +5552 5782 +4068 4325 +1013 935 +10274 9984 +2977 3181 +2751 2876 +10479 9715 +2260 2159 +5603 5520 +3074 3065 +9406 9789 +9416 9939 diff --git a/knapsack/data/ks_50_0 b/knapsack/data/ks_50_0 new file mode 100644 index 0000000..0f4c2f1 --- /dev/null +++ b/knapsack/data/ks_50_0 @@ -0,0 +1,51 @@ +50 341045 +1906 4912 +41516 99732 +23527 56554 +559 1818 +45136 108372 +2625 6750 +492 1484 +1086 3072 +5516 13532 +4875 12050 +7570 18440 +4436 10972 +620 1940 +50897 122094 +2129 5558 +4265 10630 +706 2112 +2721 6942 +16494 39888 +29688 71276 +3383 8466 +2181 5662 +96601 231302 +1795 4690 +7512 18324 +1242 3384 +2889 7278 +2133 5566 +103 706 +4446 10992 +11326 27552 +3024 7548 +217 934 +13269 32038 +281 1062 +77174 184848 +952 2604 +15572 37644 +566 1832 +4103 10306 +313 1126 +14393 34886 +1313 3526 +348 1196 +419 1338 +246 992 +445 1390 +23552 56804 +23552 56804 +67 634 diff --git a/knapsack/data/ks_50_1 b/knapsack/data/ks_50_1 new file mode 100644 index 0000000..5653266 --- /dev/null +++ b/knapsack/data/ks_50_1 @@ -0,0 +1,51 @@ +50 5000 +995 945 +259 242 +258 244 +279 281 +576 582 +126 119 +280 303 +859 913 +270 279 +389 408 +927 925 +281 305 +624 662 +961 938 +757 718 +231 250 +838 767 +154 158 +649 595 +277 268 +180 167 +895 957 +23 22 +930 948 +93 102 +61 62 +626 604 +342 349 +262 279 +215 221 +183 203 +958 889 +205 213 +859 835 +171 166 +566 575 +779 758 +704 706 +196 182 +26 28 +726 729 +621 671 +800 864 +580 579 +535 553 +647 632 +168 163 +90 95 +679 745 +440 438 diff --git a/knapsack/data/ks_60_0 b/knapsack/data/ks_60_0 new file mode 100644 index 0000000..defa74e --- /dev/null +++ b/knapsack/data/ks_60_0 @@ -0,0 +1,61 @@ +60 100000 +90000 90001 +89750 89751 +10001 10002 +89500 89501 +10252 10254 +89250 89251 +10503 10506 +89000 89001 +10754 10758 +88750 88751 +11005 11010 +88500 88501 +11256 11262 +88250 88251 +11507 11514 +88000 88001 +11758 11766 +87750 87751 +12009 12018 +87500 87501 +12260 12270 +87250 87251 +12511 12522 +87000 87001 +12762 12774 +86750 86751 +13013 13026 +86500 86501 +13264 13278 +86250 86251 +13515 13530 +86000 86001 +13766 13782 +85750 85751 +14017 14034 +85500 85501 +14268 14286 +85250 85251 +14519 14538 +85000 85001 +14770 14790 +84750 84751 +15021 15042 +84500 84501 +15272 15294 +84250 84251 +15523 15546 +84000 84001 +15774 15798 +83750 83751 +16025 16050 +83500 83501 +16276 16302 +83250 83251 +16527 16554 +83000 83001 +16778 16806 +82750 82751 +17029 17058 +82500 82501 diff --git a/knapsack/data/ks_82_0 b/knapsack/data/ks_82_0 new file mode 100644 index 0000000..f502cac --- /dev/null +++ b/knapsack/data/ks_82_0 @@ -0,0 +1,83 @@ +82 104723596 +13211 13211 +26422 26422 +52844 52844 +105688 105688 +211376 211376 +422752 422752 +845504 845504 +1691008 1691008 +3382016 3382016 +6764032 6764032 +13528064 13528064 +27056128 27056128 +54112256 54112256 +13212 13212 +26424 26424 +52848 52848 +105696 105696 +211392 211392 +422784 422784 +845568 845568 +1691136 1691136 +3382272 3382272 +6764544 6764544 +13529088 13529088 +27058176 27058176 +54116352 54116352 +39638 39638 +79276 79276 +158552 158552 +317104 317104 +634208 634208 +1268416 1268416 +2536832 2536832 +5073664 5073664 +10147328 10147328 +20294656 20294656 +40589312 40589312 +81178624 81178624 +52844 52844 +105688 105688 +211376 211376 +422752 422752 +845504 845504 +1691008 1691008 +3382016 3382016 +6764032 6764032 +13528064 13528064 +27056128 27056128 +54112256 54112256 +66060 66060 +132120 132120 +264240 264240 +528480 528480 +1056960 1056960 +2113920 2113920 +4227840 4227840 +8455680 8455680 +16911360 16911360 +33822720 33822720 +67645440 67645440 +79268 79268 +158536 158536 +317072 317072 +634144 634144 +1268288 1268288 +2536576 2536576 +5073152 5073152 +10146304 10146304 +20292608 20292608 +40585216 40585216 +81170432 81170432 +92482 92482 +184964 184964 +369928 369928 +739856 739856 +1479712 1479712 +2959424 2959424 +5918848 5918848 +11837696 11837696 +23675392 23675392 +47350784 47350784 +94701568 94701568 diff --git a/knapsack/data/ks_lecture_dp_1 b/knapsack/data/ks_lecture_dp_1 new file mode 100644 index 0000000..e1fe799 --- /dev/null +++ b/knapsack/data/ks_lecture_dp_1 @@ -0,0 +1,4 @@ +3 9 +5 4 +6 5 +3 2 diff --git a/knapsack/data/ks_lecture_dp_2 b/knapsack/data/ks_lecture_dp_2 new file mode 100644 index 0000000..5351020 --- /dev/null +++ b/knapsack/data/ks_lecture_dp_2 @@ -0,0 +1,6 @@ +4 7 +16 2 +19 3 +23 4 +28 5 + diff --git a/knapsack/handout.pdf b/knapsack/handout.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee50f329f3cfa4145a9314d3deb2291a46afecf3 GIT binary patch literal 140485 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


    w=RYrRD~W)b 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⋘PISLi_wxQ(<{o>6eUTAv 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%0A^P}@C5ABObX0el>Bg&%R1oZElIe0^Z9 zauHf6yYB4L6>8r^{sUwzu|buyBPuH79rHk|Qn+3`x*x{wL4bNr{eFD+m*MSDEb#RO z*mv$;V&n%!qoX&NgG%$Y;w`!{691R~$4!FwKfGvNb#n_Wki3JLxhLQQ4?vL55DTPX z?QQ=2g$2?9d;kOZ0O02_bw@{6fFRHFeD#0KEgS*=x|aOYkpX-Ve=8-$1LhY5OY!pZ z$ngm9%SrJI@`&((MFa$S!P0Vql7Rni^1OUsP!88`vMXrmTK8u0kF-6D-CLnGb?sYF^08kU&FIF;3GeAg01+k;T!z0teqkaIPlRY`jP4B! oP2LJTykHwAd-~5afw~&IxO%!gp8}Ylhetpdi 1: + file_location = sys.argv[1].strip() + with open(file_location, 'r') as input_data_file: + input_data = input_data_file.read() + print(solve_it(input_data)) + else: + print('This test requires an input file. Please select one from the data directory. (i.e. python solver.py ./data/ks_4_0)') + diff --git a/knapsack/solverJava.py b/knapsack/solverJava.py new file mode 100644 index 0000000..940cdf7 --- /dev/null +++ b/knapsack/solverJava.py @@ -0,0 +1,37 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import os +from subprocess import Popen, PIPE + +def solve_it(input_data): + + # Writes the inputData to a temporay file + + tmp_file_name = 'tmp.data' + tmp_file = open(tmp_file_name, 'w') + tmp_file.write(input_data) + tmp_file.close() + + # Runs the command: java Solver -file=tmp.data + + process = Popen(['java', 'Solver', '-file=' + tmp_file_name], stdout=PIPE) + (stdout, stderr) = process.communicate() + + # removes the temporay file + os.remove(tmp_file_name) + + return stdout.strip() + + +import sys + +if __name__ == '__main__': + if len(sys.argv) > 1: + file_location = sys.argv[1].strip() + with open(file_location, 'r') as input_data_file: + input_data = input_data_file.read() + print solve_it(input_data) + else: + print('This test requires an input file. Please select one from the data directory. (i.e. python solver.py ./data/ks_4_0)') + diff --git a/knapsack/submit.py b/knapsack/submit.py new file mode 100755 index 0000000..c0bf744 --- /dev/null +++ b/knapsack/submit.py @@ -0,0 +1,456 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from __future__ import print_function + +import json +import time +import os +from collections import namedtuple + + +# Python 2/3 compatibility +# Python 2: +try: + from urlparse import urlparse + from urllib import urlencode + from urllib2 import urlopen, Request, HTTPError +except: + pass + +# Python 3: +try: + from urllib.parse import urlparse, urlencode + from urllib.request import urlopen, Request + from urllib.error import HTTPError +except: + pass + +import sys +# Python 2: +if sys.version_info < (3, 0): + def input(str): + return raw_input(str) + +# Python 3, backward compatibility with unicode test +if sys.version_info >= (3, 0): + unicode = type(str) + +version = '1.0.0' +submitt_url = \ + 'https://www.coursera.org/api/onDemandProgrammingScriptSubmissions.v1' + +Metadata = namedtuple("Metadata", ['assignment_key', 'name', 'part_data']) +Part = namedtuple("Part", ['id', 'input_file', 'solver_file', 'name']) + + +def load_metadata(metadata_file_name='_coursera'): + ''' + Parses an assignment metadata file + + Args: + metadata_file_name (str): location of the metadata file + + Returns: + metadata as a named tuple structure + ''' + + if not os.path.exists(metadata_file_name): + print('metadata file "%s" not found' % metadata_file_name) + quit() + + try: + with open(metadata_file_name, 'r') as metadata_file: + url = metadata_file.readline().strip() + name = metadata_file.readline().strip() + part_data = [] + for line in metadata_file.readlines(): + if ',' in line: + line_parts = line.split(',') + line_parts = [x.strip() for x in line_parts] + assert(len(line_parts) == 4) + part_data.append(Part(*line_parts)) + if len(url) <= 0: + print('Empty url in _coursera file: %s' % metadata_file_name) + quit() + if len(name) <= 0: + print('Empty assignment name in _coursera file: %s' % metadata_file_name) + quit() + except Exception as e: + print('problem parsing assignment metadata file') + print('exception message:') + print(e) + quit() + + return Metadata(url, name, part_data) + + +def part_prompt(problems): + ''' + Prompts the user for which parts of the assignment they would like to + submit. + + Args: + problems: a list of assignment problems + + Returns: + the selected subset of problems + ''' + + count = 1 + print('Hello! These are the assignment parts that you can submit:') + for i, problem in enumerate(problems): + print(str(count) + ') ' + problem.name) + count += 1 + print('0) All') + + part_text = input('Please enter which part(s) you want to submit (0-%d): ' % (count-1)) + selected_problems = [] + selected_models = [] + + for item in part_text.split(','): + try: + i = int(item) + except: + print('Skipping input "' + item + '". It is not an integer.') + continue + + if i >= count or i < 0: + print('Skipping input "' + item + '". It is out of the valid range (0-%d).' % (count-1)) + continue + + if i == 0: + selected_problems.extend(problems) + continue + + if i <= len(problems): + selected_problems.append(problems[i-1]) + + if len(selected_problems) <= 0: + print('No valid assignment parts identified. Please try again. \n') + return part_prompt(problems) + else: + return selected_problems + + +def compute(metadata, solver_file_override=None): + ''' + Determines which assignment parts the student would like to submit. + Then computes his/her answers to those assignment parts + + Args: + metadata: the assignment metadata + solver_file_override: an optional model file to override the metadata + default + + Returns: + a dictionary of results in the format Coursera expects + ''' + + if solver_file_override is not None: + print('Overriding solver file with: '+solver_file_override) + + selected_problems = part_prompt(metadata.part_data) + + results = {} + + #submission needs empty dict for every assignment part + results.update({prob_data.id : {} for prob_data in metadata.part_data}) + + for problem in selected_problems: + if solver_file_override != None: + solver_file = solver_file_override + else: + solver_file = problem.solver_file + + if not os.path.isfile(solver_file): + print('Unable to locate assignment file "%s" in the current working directory.' % solver_file) + continue + + # if a relative path is given, add that patth to system path so import will work + if os.path.sep in solver_file: + split = solver_file.rfind(os.path.sep) + path = solver_file[0:split] + file_name = solver_file[split+1:] + sys.path.insert(0, path) + solver_file = file_name + + submission = output(problem.input_file, solver_file) + if submission != None: + results[problem.id] = {'output':submission} + + print('\n== Computations Complete ...') + + return results + + +def load_input_data(file_location): + with open(file_location, 'r') as input_data_file: + input_data = ''.join(input_data_file.readlines()) + return input_data + + +def output(input_file, solver_file): + ''' + Attempts to execute solve_it locally on a given input file. + + Args: + input_file: the assignment problem data of interest + solver_file: a python file containing the solve_it function + + Returns: + the submission string in a format that the grader expects + ''' + + try: + pkg = __import__(solver_file[:-3]) # remove '.py' extension + if not hasattr(pkg, 'solve_it'): + print('the solve_it() function was not found in %s' % solver_file) + quit() + except ImportError: + print('import error with python file "%s".' % solver_file) + quit() + + + solution = '' + + start = time.clock() + try: + solution = pkg.solve_it(load_input_data(input_file)) + except Exception as e: + print('the solve_it(input_data) method from solver.py raised an exception') + print('try testing it with python ./solver.py before running this submission script') + print('exception message:') + print(str(e)) + print('') + return 'Local Exception =(' + end = time.clock() + + if not (isinstance(solution, str) or isinstance(solution, unicode)): + print('Warning: the solver did not return a string. The given object will be converted with the str() method.') + solution = str(solution) + + print('Submitting: ') + print(solution) + + return solution.strip() + '\n' + str(end - start) + + +def login_dialog(assignment_key, results, credentials_file_location = '_credentials'): + ''' + Requests Coursera login credentials from the student and submits the + student's solutions for grading + + Args: + assignment_key: Coursera's assignment key + results: a dictionary of results in Cousera's format + credentials_file_location: a file location where login credentials can + be found + ''' + + success = False + tries = 0 + + while not success: + + # stops infinate loop when credentials file is incorrect + if tries <= 0: + login, token = login_prompt(credentials_file_location) + else: + login, token = login_prompt('') + + code, responce = submit_solution(assignment_key, login, token, results) + + print('\n== Coursera Responce ...') + #print(code) + print(responce) + + if code != 401: + success = True + else: + print('\ntry logging in again') + tries += 1 + +def login_prompt(credentials_file_location): + ''' + Attempts to load credentials from a file, if that fails asks the user. + Returns: + the user's login and token + ''' + + if os.path.isfile(credentials_file_location): + try: + with open(credentials_file_location, 'r') as metadata_file: + login = metadata_file.readline().strip() + token = metadata_file.readline().strip() + metadata_file.close() + except: + login, token = basic_prompt() + else: + login, token = basic_prompt() + return login, token + + +def basic_prompt(): + ''' + Prompt the user for login credentials. + Returns: + the user's login and token + ''' + login = input('User Name (e-mail address): ') + token = input('Submission Token (from the assignment page): ') + return login, token + + +def submit_solution(assignment_key, email_address, token, results): + ''' + Sends the student's submission to Coursera for grading via the submission + API. + + Args: + assignment_key: Coursera's assignment key + email_address: the student's email + token: the student's assignment token + results: a dictionary of results in Cousera's format + + Returns: + the https response code and a feedback message + ''' + + print('\n== Connecting to Coursera ...') + print('Submitting %d of %d parts' % + (sum(['output' in v for k,v in results.items()]), len(results))) + + # build json datastructure + parts = {} + submission = { + 'assignmentKey': assignment_key, + 'submitterEmail': email_address, + 'secret': token, + 'parts': results + } + + # send submission + req = Request(submitt_url) + req.add_header('Cache-Control', 'no-cache') + req.add_header('Content-type', 'application/json') + + try: + res = urlopen(req, json.dumps(submission).encode('utf8')) + except HTTPError as e: + responce = json.loads(e.read().decode('utf8')) + + if 'details' in responce and responce['details'] != None and \ + 'learnerMessage' in responce['details']: + return e.code, responce['details']['learnerMessage'] + else: + return e.code, 'Unexpected response code, please contact the ' \ + 'course staff.\nDetails: ' + responce['message'] + + code = res.code + responce = json.loads(res.read().decode('utf8')) + + if code >= 200 and code <= 299: + return code, 'Your submission has been accepted and will be ' \ + 'graded shortly.' + + return code, 'Unexpected response code, please contact the '\ + 'course staff.\nDetails: ' + responce + + +def main(args): + ''' + 1) Reads a metadata file to customize the submission process to + a particular assignment. + 2) The compute the student's answers to the assignment parts. + 3) Submits the student's answers for grading. + + Provides the an option for saving the submissions locally. This is very + helpful when testing the assignment graders. + + Args: + args: CLI arguments from an argparse parser + ''' + + # needed so that output can import from the cwd + sys.path.append(os.getcwd()) + + if args.metadata is None: + metadata = load_metadata() + else: + print('Overriding metadata file with: '+args.metadata) + metadata = load_metadata(args.metadata) + + print('==\n== '+metadata.name+' Solution Submission \n==') + + # compute dialog + results = compute(metadata, args.override) + + if sum(['output' in v for k,v in results.items()]) <= 0: + return + + # store submissions if requested + if args.record_submission == True: + print('Recording submission as files') + for sid, submission in results.items(): + if 'output' in submission: + directory = '_'+sid + if not os.path.exists(directory): + os.makedirs(directory) + + submission_file_name = directory+'/submission.sub' + print(' writting submission file: '+submission_file_name) + with open(submission_file_name,'w') as submission_file: + submission_file.write(submission['output']) + submission_file.close() + return + + # submit dialog + if args.credentials is None: + login_dialog(metadata.assignment_key, results) + else: + print('Overriding credentials file with: '+args.credentials) + login_dialog(metadata.assignment_key, results, args.credentials) + + + +import argparse +def build_parser(): + ''' + Builds an argument parser for the CLI + + Returns: + parser: an argparse parser + ''' + + parser = argparse.ArgumentParser( + description='''The submission script for Discrete Optimization + assignments on the Coursera Platform.''', + epilog='''Please file bugs on github at: + https://github.com/discreteoptimization/assignment/issues. If you + would like to contribute to this tool's development, check it out at: + https://github.com/discreteoptimization/assignment''' + ) + + parser.add_argument('-v', '--version', action='version', + version='%(prog)s '+version) + + parser.add_argument('-o', '--override', + help='overrides the python source file specified in the \'_coursera\' file') + + parser.add_argument('-m', '--metadata', + help='overrides the \'_coursera\' metadata file') + + parser.add_argument('-c', '--credentials', + help='overrides the \'_credentials\' credentials file') + + parser.add_argument('-rs', '--record_submission', + help='records the submission(s) as files', action='store_true') + + return parser + + +if __name__ == '__main__': + parser = build_parser() + main(parser.parse_args()) +