diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9743b9340..b8487b513 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -27,7 +27,7 @@ repos: - id: yamlfix # Exclude YAML files that are used as inputs for testing or examples, or ones for desired schedule in HOPP as they # expect misformatted YAML files. - exclude: ^(h2integrate/core/test/inputs/.*|examples/11_hybrid_energy_plant/tech_inputs/desired_schedules/.*|examples/33_peak_load_management/demand_profiles/.*|examples/34_plm_optimized_dispatch/demand_profiles/.*)$ + exclude: ^(h2integrate/core/test/inputs/.*|examples/11_hybrid_energy_plant/tech_inputs/desired_schedules/.*|examples/33_peak_load_management/demand_profiles/.*|examples/34_plm_optimized_dispatch/demand_profiles/.*|examples/xx_peak_load_management_converter/demand_profiles/.*)$ - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.8.1 diff --git a/examples/xx_peak_load_management_converter/33_peak_load_management.yaml b/examples/xx_peak_load_management_converter/33_peak_load_management.yaml new file mode 100644 index 000000000..3b0321e48 --- /dev/null +++ b/examples/xx_peak_load_management_converter/33_peak_load_management.yaml @@ -0,0 +1,5 @@ +name: H2Integrate_config +system_summary: Peak load management dispatch +driver_config: driver_config.yaml +technology_config: tech_config.yaml +plant_config: plant_config.yaml diff --git a/examples/xx_peak_load_management_converter/demand_profiles/demand_profile.yaml b/examples/xx_peak_load_management_converter/demand_profiles/demand_profile.yaml new file mode 100644 index 000000000..655da28d6 --- /dev/null +++ b/examples/xx_peak_load_management_converter/demand_profiles/demand_profile.yaml @@ -0,0 +1,8760 @@ +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 +- 90 +- 84 +- 78 +- 72 +- 66 +- 69 +- 81 +- 102 +- 129 +- 171 +- 222 +- 294 +- 396 +- 450 +- 498 +- 519 +- 540 +- 486 +- 402 +- 306 +- 234 +- 180 +- 138 +- 105 +- 78 +- 72 +- 66 +- 63 +- 60 +- 66 +- 78 +- 99 +- 123 +- 162 +- 210 +- 282 +- 378 +- 492 +- 474 +- 438 +- 396 +- 330 +- 258 +- 204 +- 162 +- 129 +- 105 +- 87 +- 93 +- 87 +- 81 +- 72 +- 66 +- 72 +- 87 +- 108 +- 141 +- 186 +- 240 +- 318 +- 414 +- 456 +- 480 +- 504 +- 516 +- 528 +- 444 +- 354 +- 270 +- 210 +- 162 +- 120 +- 81 +- 75 +- 69 +- 63 +- 60 +- 66 +- 81 +- 105 +- 138 +- 180 +- 237 +- 324 +- 507 +- 486 +- 462 +- 438 +- 390 +- 336 +- 264 +- 207 +- 165 +- 132 +- 108 +- 90 +- 84 +- 78 +- 72 +- 66 +- 63 +- 69 +- 84 +- 111 +- 147 +- 195 +- 252 +- 336 +- 420 +- 474 +- 510 +- 534 +- 498 +- 450 +- 378 +- 294 +- 228 +- 174 +- 132 +- 99 +- 90 +- 84 +- 78 +- 69 +- 63 +- 66 +- 78 +- 96 +- 120 +- 159 +- 207 +- 276 +- 384 +- 468 +- 519 +- 495 +- 441 +- 363 +- 279 +- 222 +- 177 +- 141 +- 114 +- 96 +- 87 +- 81 +- 75 +- 66 +- 60 +- 63 +- 75 +- 93 +- 117 +- 150 +- 198 +- 264 +- 372 +- 456 +- 513 +- 477 +- 423 +- 354 +- 270 +- 216 +- 174 +- 138 +- 111 +- 93 diff --git a/examples/xx_peak_load_management_converter/demand_profiles/demand_profile_upstream.yaml b/examples/xx_peak_load_management_converter/demand_profiles/demand_profile_upstream.yaml new file mode 100644 index 000000000..a333bfce9 --- /dev/null +++ b/examples/xx_peak_load_management_converter/demand_profiles/demand_profile_upstream.yaml @@ -0,0 +1,8760 @@ +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1800 +- 1850 +- 1700 +- 1250 +- 980 +- 820 +- 700 +- 620 +- 560 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 +- 380 +- 340 +- 310 +- 280 +- 260 +- 300 +- 420 +- 650 +- 980 +- 1475 +- 1380 +- 1200 +- 980 +- 860 +- 790 +- 720 +- 660 +- 610 +- 700 +- 880 +- 1090 +- 1030 +- 820 +- 600 +- 450 +- 410 +- 370 +- 330 +- 290 +- 260 +- 310 +- 390 +- 540 +- 710 +- 900 +- 1090 +- 1310 +- 1490 +- 1650 +- 1730 +- 1785 +- 1600 +- 1320 +- 1040 +- 820 +- 660 +- 560 +- 490 +- 300 +- 280 +- 250 +- 230 +- 220 +- 240 +- 290 +- 360 +- 440 +- 520 +- 610 +- 700 +- 820 +- 910 +- 980 +- 1020 +- 1080 +- 1150 +- 1230 +- 1290 +- 1330 +- 1360 +- 1180 +- 900 +- 410 +- 380 +- 340 +- 300 +- 270 +- 250 +- 290 +- 360 +- 500 +- 670 +- 860 +- 1080 +- 1420 +- 1695 +- 1580 +- 1430 +- 1270 +- 1080 +- 900 +- 740 +- 620 +- 540 +- 480 +- 430 +- 620 +- 700 +- 860 +- 1020 +- 1260 +- 1450 +- 1525 +- 1490 +- 1320 +- 1160 +- 980 +- 860 +- 760 +- 690 +- 640 +- 610 +- 700 +- 860 +- 1040 +- 1230 +- 1310 +- 1200 +- 980 +- 760 +- 470 +- 430 +- 390 +- 350 +- 310 +- 280 +- 320 +- 410 +- 560 +- 740 +- 930 +- 1140 +- 1360 +- 1550 +- 1710 +- 1800 +- 1680 +- 1440 +- 1180 +- 940 +- 760 +- 620 +- 540 +- 480 +- 430 +- 390 +- 360 +- 320 +- 280 +- 250 +- 300 +- 380 +- 520 +- 690 +- 860 +- 1040 +- 1260 +- 1480 +- 1610 +- 1520 +- 1340 +- 1110 +- 900 +- 760 +- 640 +- 560 +- 500 +- 460 diff --git a/examples/xx_peak_load_management_converter/driver_config.yaml b/examples/xx_peak_load_management_converter/driver_config.yaml new file mode 100644 index 000000000..0991d8889 --- /dev/null +++ b/examples/xx_peak_load_management_converter/driver_config.yaml @@ -0,0 +1,5 @@ +name: driver_config +description: Driver configuration for multivariable streams example +general: + folder_output: outputs + create_om_reports: false diff --git a/examples/xx_peak_load_management_converter/plant_config.yaml b/examples/xx_peak_load_management_converter/plant_config.yaml new file mode 100644 index 000000000..4422a7eda --- /dev/null +++ b/examples/xx_peak_load_management_converter/plant_config.yaml @@ -0,0 +1,13 @@ +name: plant_config +description: Demonstrates multivariable streams with a gas combiner +plant: + plant_life: 30 + simulation: + n_timesteps: 8760 + dt: 3600 + timezone: -6 + start_time: 2025/07/01 00:00:00 +technology_interconnections: + - [hydrogen_feedstock, fuel_cell, hydrogen, pipe] + - [fuel_cell, electrical_load_demand, [electricity_out, electricity_in]] + - [electrical_load_demand, grid_buy, [unmet_electricity_demand_out, electricity_set_point]] diff --git a/examples/xx_peak_load_management_converter/run_peak_load_management.py b/examples/xx_peak_load_management_converter/run_peak_load_management.py new file mode 100644 index 000000000..b129a5a88 --- /dev/null +++ b/examples/xx_peak_load_management_converter/run_peak_load_management.py @@ -0,0 +1,141 @@ +""" +Example 33: Peak load management dispatch + +This example demonstrates: +1. Peak load management dispatch open loop control with two demand profiles of interest +2. Battery charging without an input stream, assuming purchase from the grid + +In this example, two load profiles are provided. It is assumed that demand_profile is a +subset of demand_profile_upstream, where demand_profile_upstream may represent the total demand of a +larger/upstream system. In this case, the upstream system reserves the right to choose +when to dispatch the battery up to three times per week. The remaining days the sub-system +may choose when and how to dispatch the battery. The subsystem has certain expected peak +windows that may be critical in terms of their cost structure, grid limits, or some other +reason and so they will only dispatch the battery for peaks in the chosen range. The top- +level system does not have such a requirement and will simply dispatch to reduce the highest +peaks. Perfect a priori demand knowledge is assumed. The battery is only allowed to discharge +once per day and is further restricted to not charge during the expected peak windows defined +by the sub-system operator. + +The output figure indicates peaks from demand_profile_upstream that were selected to override the +peaks in demand_profile to demonstrate how the peak selection impacts dispatch. + +""" + +import numpy as np +import matplotlib.pyplot as plt + +from h2integrate import H2IntegrateModel +from h2integrate.core.utilities import build_time_series_from_plant_config + + +# Create, setup, and run the H2Integrate model +model = H2IntegrateModel("33_peak_load_management.yaml") + +model.setup() +# om.n2(model.prob) +model.run() +model.post_process() + +demand_profile = model.prob.get_val("fuel_cell.electricity_demand", units="kW") +# plot the results for the first week +demand_profile_upstream = np.array( + model.technology_config["technologies"]["fuel_cell"]["model_inputs"]["control_parameters"][ + "demand_profile_upstream" + ] +) +demand_profile_peak_cutoff = model.technology_config["technologies"]["fuel_cell"]["model_inputs"][ + "control_parameters" +]["demand_profile_peak_cutoff"] +demand_profile_upstream_peak_cutoff = model.technology_config["technologies"]["fuel_cell"][ + "model_inputs" +]["control_parameters"]["demand_profile_upstream_peak_cutoff"] +grid_output = model.prob.get_val("grid_buy.electricity_out", units="MW") + +time_series = build_time_series_from_plant_config(model.plant_config) + +n_plot = 24 * 7 +time_plot = time_series[:n_plot] + +fig, ax = plt.subplots(3, 1, sharex=True, figsize=(10, 5)) +ax[0].plot(time_plot, demand_profile_upstream[:n_plot] * 1e-3, label="Upstream demand") +ax[0].plot(time_plot, demand_profile[:n_plot] * 1e-3, label="Original demand") +ax[0].axhline( + demand_profile_peak_cutoff * 1e-3, label="Demand peak cutoff", color="k", linestyle="--" +) +ax[0].axhline( + demand_profile_upstream_peak_cutoff * 1e-3, + label="Upstream demand peak cutoff", + color="k", + linestyle=":", +) +ax[0].set(ylabel="Power (MW)", ylim=[-2, 2]) +ax[0].legend(frameon=True, ncol=3) + +ax[1].plot(time_plot, demand_profile[:n_plot] * 1e-3, label="Original demand (MW)") +ax[1].plot( + time_plot, + model.prob.get_val("fuel_cell.electricity_out", units="MW")[:n_plot], + label="fuel_cell dispatch", +) +ax[1].set(ylabel="Power (MW)", ylim=[-2, 2]) +ax[1].legend(frameon=False, ncol=2) + +ax[2].plot(time_plot, demand_profile[:n_plot] * 1e-3, label="Original demand (MW)") +ax[2].plot( + time_plot, + model.prob.get_val("electrical_load_demand.unmet_electricity_demand_out", units="MW")[:n_plot], + label="New demand profile", +) +ax[2].plot(time_plot, grid_output[:n_plot], label="Grid purchase (MW)", linestyle=":") + +ax[2].set(ylabel="Power (MW)", ylim=[-2, 2]) +ax[2].legend(frameon=False, ncol=3) +ax[2].tick_params(axis="x", labelrotation=90) + +for axis in ax: + axis.minorticks_on() + axis.grid(True, which="major", alpha=0.45, linewidth=0.8) + axis.grid(True, which="minor", alpha=0.2, linewidth=0.5) + +############################## annotate override peaks ########################### + +# Find top 3 daily peaks in supervisor demand (one per day in first week) +# supervisor_demand_first_week = supervisor_demand[:n_plot] * 1e-3 +# days_first_week = pd.to_datetime(np.unique(pd.DatetimeIndex(time_plot).normalize())) + +# daily_peaks = [] +# for day in days_first_week: +# day_start = day +# day_end = day + pd.Timedelta(days=1) +# day_mask = (time_plot >= day_start) & (time_plot < day_end) +# if day_mask.any(): +# day_indices = np.where(day_mask)[0] +# peak_idx = day_indices[np.argmax(supervisor_demand_first_week[day_indices])] +# peak_time = time_plot[peak_idx] +# peak_value = supervisor_demand_first_week[peak_idx] +# daily_peaks.append((peak_time, peak_value)) + +# # Sort by peak value and get top 3 +# top_3_peaks = sorted(daily_peaks, key=lambda x: x[1], reverse=True)[:3] +# top_3_peaks_sorted_by_time = sorted(top_3_peaks, key=lambda x: x[0]) + +# # Draw vertical dashed lines for top 3 daily peaks across all subplots +# colors = ["k", "k", "k"] +# for idx, (peak_time, _) in enumerate(top_3_peaks_sorted_by_time): +# for axis in ax: +# axis.axvline(peak_time, color=colors[idx], linestyle="--", linewidth=1.5, alpha=0.7) +# # Add label on top subplot +# ax[0].text( +# peak_time, +# ax[0].get_ylim()[1] + 0.3, +# f"Peak override {idx + 1}", +# fontsize=9, +# ha="center", +# color=colors[idx], +# weight="bold", +# ) +########################################################################################### + +plt.tight_layout() +plt.savefig("example_peak_load_dispatch.png", transparent=False) diff --git a/examples/xx_peak_load_management_converter/tech_config.yaml b/examples/xx_peak_load_management_converter/tech_config.yaml new file mode 100644 index 000000000..670655e56 --- /dev/null +++ b/examples/xx_peak_load_management_converter/tech_config.yaml @@ -0,0 +1,65 @@ +name: technology_config +description: This plant charges a battery from the grid to reduce peak demand +technologies: + hydrogen_feedstock: + performance_model: + model: FeedstockPerformanceModel + cost_model: + model: FeedstockCostModel + model_inputs: + shared_parameters: + commodity: hydrogen + commodity_rate_units: kg/h + performance_parameters: + rated_capacity: 50.0 # kg of H2/hour + cost_parameters: + cost_year: 2022 + price: 5.0 # USD/kg H2 + annual_cost: 0. + start_up_cost: 0.0 + fuel_cell: + performance_model: + model: LinearH2FuelCellPerformanceModel + cost_model: + model: H2FuelCellCostModel + control_strategy: + model: PeakLoadManagementHeuristicOpenLoopConverterController + model_inputs: + shared_parameters: + system_capacity_kw: 1000.0 + performance_parameters: + fuel_cell_efficiency_hhv: 0.50 + cost_parameters: + capex_per_kw: 200.0 + fixed_opex_per_kw_per_year: 10.0 + cost_year: 2018 + control_parameters: + commodity: electricity + commodity_rate_units: kW + system_capacity_rate: 1000.0 + demand_profile: !include demand_profiles/demand_profile.yaml + demand_profile_upstream: !include demand_profiles/demand_profile_upstream.yaml + demand_profile_peak_cutoff: 400.0 + demand_profile_upstream_peak_cutoff: 1000.0 + electrical_load_demand: + performance_model: + model: GenericDemandComponent + model_inputs: + performance_parameters: + commodity: electricity + commodity_rate_units: kW + demand_profile: !include demand_profiles/demand_profile.yaml + grid_buy: + performance_model: + model: GridPerformanceModel + cost_model: + model: GridCostModel + model_inputs: + shared_parameters: + interconnection_size: 100000 + cost_parameters: + cost_year: 2024 + fixed_interconnection_cost: 0.0 + interconnection_capex_per_kw: 0.0 + interconnection_opex_per_kw: 0.0 + electricity_buy_price: 0.09 diff --git a/h2integrate/control/control_strategies/converters/__init__.py b/h2integrate/control/control_strategies/converters/__init__.py index e69de29bb..88f398739 100644 --- a/h2integrate/control/control_strategies/converters/__init__.py +++ b/h2integrate/control/control_strategies/converters/__init__.py @@ -0,0 +1,3 @@ +from h2integrate.control.control_strategies.converters.plm_openloop_converter_controller import ( + PeakLoadManagementHeuristicOpenLoopConverterController, +) diff --git a/h2integrate/control/control_strategies/converters/plm_openloop_converter_controller.py b/h2integrate/control/control_strategies/converters/plm_openloop_converter_controller.py new file mode 100644 index 000000000..362602c70 --- /dev/null +++ b/h2integrate/control/control_strategies/converters/plm_openloop_converter_controller.py @@ -0,0 +1,111 @@ +import numpy as np +from attrs import field, define + +from h2integrate.core.utilities import merge_shared_inputs +from h2integrate.core.validators import contains +from h2integrate.control.control_strategies.storage.openloop_storage_control_base import ( + StorageOpenLoopControlBase, + StorageOpenLoopControlBaseConfig, +) + + +@define(kw_only=True) +class PeakLoadManagementHeuristicOpenLoopConverterControllerConfig( + StorageOpenLoopControlBaseConfig +): + """ + Configuration class for the PeakLoadManagementHeuristicOpenLoopStorageController. + + Defines peak-selection and dispatch-priority rules used to pre-compute + an open-loop discharge and recharge schedule. + + Attributes: + + + """ + + system_capacity_kw: int | float = field() + demand_profile_peak_cutoff: int | float = field() + demand_profile_upstream: int | float | list | None = field() + demand_profile_upstream_peak_cutoff: int | float | None = field() + demand_profile_upstream_kind: str = field( + default="electricity", validator=contains(["electricity", "price"]) + ) + + def __attrs_post_init__(self): + super().__attrs_post_init__() + + +class PeakLoadManagementHeuristicOpenLoopConverterController(StorageOpenLoopControlBase): + def setup(self): + self.config = PeakLoadManagementHeuristicOpenLoopConverterControllerConfig.from_dict( + merge_shared_inputs(self.options["tech_config"]["model_inputs"], "control"), + strict=False, + additional_cls_name=self.__class__.__name__, + ) + super().setup() + + self.add_input( + f"system_capacity_{self.config.commodity_rate_units}", + val=self.config.system_capacity_kw, + units=f"{self.config.commodity_rate_units}", + desc="Converter control system awareness of the system capacity", + ) + + if self.config.demand_profile_upstream_kind == "price": + peak_cutoff_units = f"USD/({self.config.commodity_amount_units})" + else: + peak_cutoff_units = self.config.commodity_amount_units + + self.add_input( + "demand_profile_upstream_peak_cutoff", + val=self.config.demand_profile_upstream_peak_cutoff, + units=peak_cutoff_units, + desc="demand_profile_upstream_peak_cutoff", + ) + + self.n_timesteps = self.options["plant_config"]["plant"]["simulation"]["n_timesteps"] + + def compute(self, inputs, outputs): + commodity = self.config.commodity + demand_profile = inputs[f"{commodity}_set_point"] + system_capacity_rate = inputs[f"system_capacity_{self.config.commodity_rate_units}"][0] + demand_profile_peak_cutoff = self.config.demand_profile_peak_cutoff + demand_profile_upstream = self.config.demand_profile_upstream + demand_profile_upstream_peak_cutoff = inputs["demand_profile_upstream_peak_cutoff"] + self.command_value = np.zeros(self.n_timesteps) + + for idx, val in enumerate(demand_profile): + val_upstream = demand_profile_upstream[idx] + if ( + val > demand_profile_peak_cutoff + or val_upstream > demand_profile_upstream_peak_cutoff + ): + desired_dispatch = val - demand_profile_peak_cutoff + + if self.config.demand_profile_upstream_kind == "electricity": + desired_dispatch_upstream = val_upstream - demand_profile_upstream_peak_cutoff + self.command_value[idx] = min( + max( + max(desired_dispatch, 0), + max(desired_dispatch_upstream, 0), + ), + val, + system_capacity_rate, + ) + elif self.config.demand_profile_upstream_kind == "price": + if val_upstream > demand_profile_upstream_peak_cutoff: + self.command_value[idx] = min( + max(desired_dispatch, 0), + val, + system_capacity_rate, + ) + else: + raise ( + ValueError( + f"Invalid demand_profile_upstream_kind \ + '{self.config.demand_profile_upstream_kind}'" + ) + ) + + outputs[f"{commodity}_command_value"] = self.command_value diff --git a/h2integrate/converters/hydrogen/h2_fuel_cell.py b/h2integrate/converters/hydrogen/h2_fuel_cell.py index f6288386d..418dd2d1c 100644 --- a/h2integrate/converters/hydrogen/h2_fuel_cell.py +++ b/h2integrate/converters/hydrogen/h2_fuel_cell.py @@ -19,10 +19,13 @@ class LinearH2FuelCellPerformanceConfig(BaseConfig): system_capacity_kw (float): The capacity of the fuel cell system in kilowatts (kW). fuel_cell_efficiency_hhv (float): The higher heating value efficiency of the fuel cell (0 <= efficiency <= 1). + uptime_hours_until_eol (int): Number of "on" hours until the electrolyzer reaches + end-of-life (EOL). """ system_capacity_kw: float = field(validator=gte_zero) fuel_cell_efficiency_hhv: float = field(validator=range_val(0, 1)) + uptime_hours_until_eol: int = field(validator=gte_zero) class LinearH2FuelCellPerformanceModel(PerformanceModelBaseClass): @@ -146,6 +149,42 @@ def compute(self, inputs, outputs): # calculate electricity output in kW electricity_out_kw = hydrogen_in / kw_to_kgh_h2 + # calculate replacement schedule based on cumulative "on" hours, where "on" hours + # are timesteps where electricity output is greater than zero + n_hours_eol = self.config.uptime_hours_until_eol + on_off_status = np.where(electricity_out_kw > 0, 1, 0) + + # Calculate cumulative hours and find all crossings of n_hours_eol multiples + cumsum_hours = np.cumsum(np.tile(on_off_status, self.plant_life)) + + # Find all replacement thresholds (n_hours_eol, 2*n_hours_eol, 3*n_hours_eol, ...) + max_hours = np.max(cumsum_hours) + n_replacements = int(max_hours / n_hours_eol) + + # For each replacement threshold, find the first index where cumsum >= threshold + i_replace = [] + for k in range(1, n_replacements + 1): + threshold = k * n_hours_eol + # Find first index where cumsum >= threshold + idx = np.searchsorted(cumsum_hours, threshold, side="left") + if idx < len(cumsum_hours): + i_replace.append(idx) + + i_replace = np.array(i_replace) if i_replace else np.array([], dtype=int) + + # Convert indices to years and count replacements per year + refurb_schedule = np.zeros(self.plant_life) + for idx in i_replace: + year = int(np.floor(idx / self.n_timesteps)) + if 0 <= year < self.plant_life: + refurb_schedule[year] += 1 + + # The replacement_schedule is the fraction of the total capacity that is replaced per year + # The replacement_schedule may be used in the finance model if the replacement_cost_percent + # is specified in the tech_config under + # ['model_inputs']['finance_parameters']['capital_items']['replacement_cost_percent'] + outputs["replacement_schedule"] = refurb_schedule + # clip the electricity output to the system capacity outputs["electricity_out"] = np.minimum(electricity_out_kw, system_capacity) outputs["total_electricity_produced"] = np.sum(outputs["electricity_out"]) * ( @@ -165,13 +204,19 @@ def compute(self, inputs, outputs): class H2FuelCellCostConfig(CostModelBaseConfig): """Configuration class for the hydrogen fuel cell cost model. - Fields include `system_capacity_kw`, `capex_per_kw`, and `fixed_opex_per_kw_per_year`. - The `cost_year` field is inherited from `CostModelBaseConfig`. + Attributes: + system_capacity_kw (float): The capacity of the fuel cell system in kilowatts (kW). + capex_per_kw (float): Capital cost per unit of capacity in USD/kW. + fixed_opex_per_kw_per_year (float): Fixed operating expenses per unit of capacity per year + in USD/(kW*year). +variable_opex_per_kwh (float): Variable operating expenses per unit of production per year in + USD/(kWh). """ system_capacity_kw: float = field(validator=gte_zero) capex_per_kw: float = field(validator=gte_zero) fixed_opex_per_kw_per_year: float = field(validator=gte_zero) + variable_opex_per_kwh: float = field(validator=gte_zero) class H2FuelCellCostModel(CostModelBaseClass): @@ -216,6 +261,20 @@ def setup(self): desc="Fixed operating expenses per unit capacity per year", ) + self.add_input( + "unit_varopex", + val=self.config.variable_opex_per_kwh, + units="USD/(kW*h)", + desc="Variable operating expenses per unit of electricity produced", + ) + + self.add_input( + "annual_electricity_produced", + val=0.0, + shape=self.plant_life, + units="(kW*h)/year", + ) + def compute(self, inputs, outputs, discrete_inputs, discrete_outputs): """ Compute capital and fixed operating costs for the fuel cell system. @@ -232,3 +291,6 @@ def compute(self, inputs, outputs, discrete_inputs, discrete_outputs): # Calculate fixed operating cost per year outputs["OpEx"] = system_capacity_kw * inputs["fixed_opex_per_year"] + + # Calculate variable operating cost per year + outputs["VarOpEx"] = inputs["annual_electricity_produced"] * inputs["unit_varopex"] diff --git a/h2integrate/converters/hydrogen/test/test_h2_fuel_cell.py b/h2integrate/converters/hydrogen/test/test_h2_fuel_cell.py index cfce4935d..e7d38a2c2 100644 --- a/h2integrate/converters/hydrogen/test/test_h2_fuel_cell.py +++ b/h2integrate/converters/hydrogen/test/test_h2_fuel_cell.py @@ -30,6 +30,7 @@ def tech_config(): "performance_parameters": { "system_capacity_kw": 1000.0, "fuel_cell_efficiency_hhv": 0.50, + "uptime_hours_until_eol": (8760 * 7.0), } } } @@ -44,6 +45,7 @@ def cost_config(): "system_capacity_kw": 1000.0, "capex_per_kw": 200.0, "fixed_opex_per_kw_per_year": 10.0, + "variable_opex_per_kwh": 5.0, "cost_year": 2018, } } @@ -121,6 +123,79 @@ def test_fuel_cell_performance(tech_config, plant_config, subtests): == 175230.7542647681 ) + with subtests.test("refurbishment_schedule"): + np.testing.assert_allclose( + prob.get_val("fuel_cell.replacement_schedule", units="unitless"), + np.tile([0, 0, 0, 0, 0, 0, 1], 15)[:30], + atol=1e-6, + ) + + with subtests.test("refurbishment_schedule_non_int_multiple"): + n_timesteps = int(plant_config["plant"]["simulation"]["n_timesteps"]) + tech_config_copy = tech_config + tech_config_copy["model_inputs"]["performance_parameters"]["uptime_hours_until_eol"] = ( + 8760 * 1.5 + ) + prob = om.Problem() + + fuel_cell_2 = LinearH2FuelCellPerformanceModel( + plant_config=plant_config, tech_config=tech_config_copy, driver_config={} + ) + + prob.model.add_subsystem("fuel_cell", fuel_cell_2, promotes=["*"]) + + prob.setup() + + hydrogen_input = np.ones(n_timesteps) * 20.0 # kg/h + hydrogen_input[0] = ( + 500000000.0 # test case of extreme hydrogen input to check system capacity limit + ) + + prob.set_val("fuel_cell.hydrogen_in", hydrogen_input, units="kg/h") + + prob.run_model() + + # Check that electricity output is less than or equal to system capacity + electricity_output = prob.get_val("fuel_cell.electricity_out", units="kW") + np.testing.assert_allclose( + prob.get_val("fuel_cell.replacement_schedule", units="unitless"), + np.tile([0, 1, 1], 10), + atol=1e-6, + ) + + with subtests.test("refurbishment_schedule_multiple_replacements_in_some_years"): + n_timesteps = int(plant_config["plant"]["simulation"]["n_timesteps"]) + tech_config_copy = tech_config + tech_config_copy["model_inputs"]["performance_parameters"]["uptime_hours_until_eol"] = ( + 8760 * 0.75 + ) + prob = om.Problem() + + fuel_cell_2 = LinearH2FuelCellPerformanceModel( + plant_config=plant_config, tech_config=tech_config_copy, driver_config={} + ) + + prob.model.add_subsystem("fuel_cell", fuel_cell_2, promotes=["*"]) + + prob.setup() + + hydrogen_input = np.ones(n_timesteps) * 20.0 # kg/h + hydrogen_input[0] = ( + 500000000.0 # test case of extreme hydrogen input to check system capacity limit + ) + + prob.set_val("fuel_cell.hydrogen_in", hydrogen_input, units="kg/h") + + prob.run_model() + + # Check that electricity output is less than or equal to system capacity + electricity_output = prob.get_val("fuel_cell.electricity_out", units="kW") + np.testing.assert_allclose( + prob.get_val("fuel_cell.replacement_schedule", units="unitless"), + np.tile([1, 1, 2], 10), + atol=1e-6, + ) + @pytest.mark.unit def test_fuel_cell_demand(tech_config, plant_config, subtests): @@ -176,15 +251,22 @@ def test_fuel_cell_demand(tech_config, plant_config, subtests): ) -@pytest.mark.regression +@pytest.mark.unit def test_fuel_cell_cost(cost_config, plant_config, subtests): int(plant_config["plant"]["simulation"]["n_timesteps"]) prob = om.Problem() + annual_production = 45 # kwh/year + fuel_cell_cost = H2FuelCellCostModel( plant_config=plant_config, tech_config=cost_config, driver_config={} ) + annual_prod_comp = om.IndepVarComp( + name="annual_electricity_produced", val=annual_production, shape=30, units="(kW*h)/yr" + ) + + prob.model.add_subsystem("IVC1", annual_prod_comp, promotes=["*"]) prob.model.add_subsystem("fuel_cell_cost", fuel_cell_cost, promotes=["*"]) @@ -197,3 +279,6 @@ def test_fuel_cell_cost(cost_config, plant_config, subtests): with subtests.test("opex value"): assert prob.get_val("fuel_cell_cost.OpEx", units="USD/year") == 10000.0 + + with subtests.test("varopex"): + assert prob.get_val("fuel_cell_cost.VarOpEx", units="USD/year")[0] == 45 * 5.0 diff --git a/h2integrate/core/model_baseclasses.py b/h2integrate/core/model_baseclasses.py index 183dab9d1..0bc84657b 100644 --- a/h2integrate/core/model_baseclasses.py +++ b/h2integrate/core/model_baseclasses.py @@ -177,14 +177,14 @@ def initialize(self): self.options.declare("tech_config", types=dict) def setup(self): - plant_life = int(self.options["plant_config"]["plant"]["plant_life"]) + self.plant_life = int(self.options["plant_config"]["plant"]["plant_life"]) # Define outputs: CapEx and OpEx costs self.add_output("CapEx", val=0.0, units="USD", desc="Capital expenditure") self.add_output("OpEx", val=0.0, units="USD/year", desc="Fixed operational expenditure") self.add_output( "VarOpEx", val=0.0, - shape=plant_life, + shape=self.plant_life, units="USD/year", desc="Variable operational expenditure", ) diff --git a/h2integrate/core/supported_models.py b/h2integrate/core/supported_models.py index f9e43ce89..44b5c5872 100644 --- a/h2integrate/core/supported_models.py +++ b/h2integrate/core/supported_models.py @@ -159,6 +159,7 @@ def copy(self): "OptimizedDispatchStorageController": "control.control_strategies.storage:OptimizedDispatchStorageController", "GenericDemandComponent": "demand:GenericDemandComponent", "FlexibleDemandComponent": "demand:FlexibleDemandComponent", + "PeakLoadManagementHeuristicOpenLoopConverterController": "control.control_strategies.converters:PeakLoadManagementHeuristicOpenLoopConverterController", # Dispatch "PyomoDispatchGenericConverter": "control.control_rules.converters:PyomoDispatchGenericConverter", "PyomoRuleStorageBaseclass": "control.control_rules.storage:PyomoRuleStorageBaseclass", @@ -188,7 +189,6 @@ def copy(self): } ) - # This next section is to demarcate specific models that belong to certain categories that are # relevant for processing in the model stackup. Right now, these designations are # used in `h2integrate_model.py`.