diff --git a/.bumpversion.cfg b/.bumpversion.cfg index bac0dda20..f8fc225aa 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 3.8.14 +current_version = 3.9.6 commit = True tag = True diff --git a/.cookiecutterrc b/.cookiecutterrc index f94ee36f4..272076df1 100644 --- a/.cookiecutterrc +++ b/.cookiecutterrc @@ -54,7 +54,7 @@ default_context: sphinx_doctest: "no" sphinx_theme: "sphinx-py3doc-enhanced-theme" test_matrix_separate_coverage: "no" - version: 3.8.14 + version: 3.9.6 version_manager: "bump2version" website: "https://github.com/NREL" year_from: "2023" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bd905e778..30be8b34c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,20 +2,20 @@ # pre-commit install --install-hooks # To update the versions: # pre-commit autoupdate -exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg|src/geophires_x)(/|$)' +exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg|src/geophires_x(?!/(GEOPHIRESv3|EconomicsSam|EconomicsSamCashFlow)\.py))(/|$)' # Note the order is intentional to avoid multiple passes of the hooks repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.3.1 + rev: v0.11.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] - repo: https://github.com/psf/black - rev: 24.2.0 + rev: 25.1.0 hooks: - id: black - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v5.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c338e8137..c7915c3a9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,16 @@ Changelog GEOPHIRES-X (2023-2025) ------------------------ +3.9 +^^^ + +.. TODO/WIP stub + +`release `__ + +SAM Single-owner PPA Economic Model + + 3.8 ^^^ diff --git a/MANIFEST.in b/MANIFEST.in index 71e181c76..60ac05821 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -23,5 +23,6 @@ include How-to-extend-GEOPHIRES-X.md include geophires-logo.png prune References +prune geophires_sam_economics global-exclude *.py[cod] __pycache__/* *.so *.dylib diff --git a/README.rst b/README.rst index 4515990ea..9406f4273 100644 --- a/README.rst +++ b/README.rst @@ -56,9 +56,9 @@ Free software: `MIT license `__ :alt: Supported implementations :target: https://pypi.org/project/geophires-x -.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.8.14.svg +.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.9.6.svg :alt: Commits since latest release - :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.8.14...main + :target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.6...main .. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat :target: https://nrel.github.io/GEOPHIRES-X @@ -288,18 +288,22 @@ direct-use heat (e.g. for industrial processing heating or residential space hea (3) co-generation of heat and electricity. The co-generation option considers bottoming cycle, topping cycle, and parallel cycle. -GEOPHIRES has 4 economic models to calculate the levelized cost of heat or +GEOPHIRES has 5 economic models to calculate the levelized cost of heat or electricity: (1) fixed charge rate (FCR) model; (2) standard discounting levelized cost model; (3) BICYCLE model; -(4) CLGS. +(4) CLGS; +(5) SAM Single-owner PPA. + +.. TODO link to SAM Economic Model docs The capital and O&M costs for the different geothermal system components (exploration, well drilling, surface plant, etc.) are either provided by the user or calculated with built-in correlations. For more information on the theoretical basis for GEOPHIRES see -`GEOPHIRES v2.0: updated geothermal techno‐economic simulation tool (Beckers & McCabe, 2019) `__. +`GEOPHIRES v2.0: updated geothermal techno‐economic simulation tool (Beckers & McCabe, 2019) `__ +and `GEOPHIRES reference materials `__. Parameters ---------- @@ -458,6 +462,10 @@ Example-specific web interface deeplinks are listed in the Link column. - `example_SHR-2.txt `__ - `.out `__ - `link `__ + * - SAM Single Owner PPA + - `example_SAM-single-owner-PPA.txt `__ + - `.out `__ + - `link `__ .. raw:: html diff --git a/References/references.md b/References/references.md index 5fddcebb0..07f0fdb6f 100644 --- a/References/references.md +++ b/References/references.md @@ -1,9 +1,9 @@ # GEOPHIRES -* [GEOPHIRES v2.0 User Manual.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/GEOPHIRES%20v2.0%20User%20Manual.pdf) ![https://doi.org/10.1186/s40517-019-0119-6](https://zenodo.org/badge/doi/10.1186/s40517-019-0119-6.svg) +* [GEOPHIRES v2.0 User Manual.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/GEOPHIRES%20v2.0%20User%20Manual.pdf) [![](https://zenodo.org/badge/doi/10.1186/s40517-019-0119-6.svg)](https://doi.org/10.1186/s40517-019-0119-6) * [Beckers 2019 GEOPHIRES v2.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/Beckers%202019%20GEOPHIRES%20v2.pdf) * [Beckers 2018 Introducing GEOPHIRES v2.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/Beckers%202018%20Introducing%20GEOPHIRES%20v2.pdf) -* [Beckers 2016 Dissertation.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/Beckers%202016%20Dissertation.pdf) +* [Beckers 2016 Dissertation.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/Beckers%202016%20Dissertation.pdf) [![](https://zenodo.org/badge/doi/10.7298/X4736NTC.svg)](https://doi.org/10.7298/X4736NTC) * [Beckers 2013 GEOPHIRES v1.pdf](https://github.com/NREL/GEOPHIRES-X/blob/fb5caadfa419c3bd05de656a33700d085fbc0432/References/Beckers%202013%20GEOPHIRES%20v1.pdf) # Reference diff --git a/docs/Monte-Carlo-User-Guide.md b/docs/Monte-Carlo-User-Guide.md index 368fca2f7..816de8c76 100644 --- a/docs/Monte-Carlo-User-Guide.md +++ b/docs/Monte-Carlo-User-Guide.md @@ -118,3 +118,7 @@ python -mgeophires_monte_carlo GEOPHIRESv3.py GEOPHIRES-example1.txt MC_GEOPHIRE ## Documentation See [module documentation](reference/geophires_monte_carlo.html) + +## Web Interface + +Monte Carlo is available in the web interface at [gtp.scientificwebservices.com/monte-carlo](https://gtp.scientificwebservices.com/monte-carlo) diff --git a/docs/SAM-Economic-Models.md b/docs/SAM-Economic-Models.md new file mode 100644 index 000000000..64d9424a8 --- /dev/null +++ b/docs/SAM-Economic-Models.md @@ -0,0 +1,55 @@ +# SAM Economic Models + +GEOPHIRES SAM Economic Models leverage [NREL's SAM Financial Models](https://sam.nrel.gov/financial-models.html) +by transforming GEOPHIRES parameters into SAM parameters and running the corresponding SAM model +with [PySAM](https://github.com/NREL/pysam). + +## SAM Single Owner PPA + +Corresponding SAM Financial +Model: [Power Purchase Agreement (PPA): Single owner](https://sam.nrel.gov/financial-models/utility-scale-ppa) + +### Parameters + +The following table describes how GEOPHIRES parameters are transformed into SAM parameters, as implemented in +[EconomicsSam.py](https://github.com/softwareengineerprogrammer/GEOPHIRES/blob/274786e6799d32dad3f42a2a04297818b811f24c/src/geophires_x/EconomicsSam.py#L135-L195). +(Note that the source code implementation determines actual behavior in the case of any discrepancies.) + +| GEOPHIRES Parameter(s) | SAM Category | SAM Input(s) | SAM Module(s) | SAM Parameter Name(s) | Comment | +|-------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|-----------------------------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `Maximum Total Electricity Generation` | Generation Profile | `Nameplate capacity` | `Singleowner` | `system_capacity` | .. N/A | +| `Utilization Factor` | Generation Profile | `Nominal capacity factor` | `Singleowner` | `user_capacity_factor` | .. N/A | +| `Net Electricity Generation` | AC Degradation | `Annual AC degradation rate` schedule | `Utilityrate5` | `degradation` | Percentage difference of each year's `Net Electricity Generation` from `Maximum Total Electricity Generation` is input as SAM as the degradation rate schedule in order to match SAM's generation profile to GEOPHIRES | +| `Total Capital Cost` + `Investment Tax Credit Value` + (`Inflation Rate During Construction` × `Total Capital Cost`) | Installation Costs | `Total Installed Cost` | `Singleowner` | `total_installed_cost` | ITC, if present, is added to GEOPHIRES total capital cost since SAM handles ITC credits in cash flow analysis. Inflation during construction is treated as an indirect EPC capital cost percentage. | +| `Total O&M Cost`, `Inflation Rate` | Operating Costs | `Fixed operating cost`, `Escalation rate` set to `Inflation Rate` × -1 | `Singleowner` | `om_fixed`, `om_fixed_escal` | .. N/A | +| `Plant Lifetime` | Financial Parameters → Analysis Parameters | `Analysis period` | `CustomGeneration`, `Singleowner` | `CustomGeneration.analysis_period`, `Singleowner.term_tenor` | .. N/A | +| `Inflation Rate` | Financial Parameters → Analysis Parameters | `Inflation rate` | `Utilityrate5` | `inflation_rate` | .. N/A | +| `Discount Rate` | Financial Parameters → Analysis Parameters | `Real discount rate` | `Singleowner` | `real_discount_rate` | .. N/A | +| `Combined Income Tax Rate` | Financial Parameters → Project Tax and Insurance Rates | `Federal income tax rate`\: minimum of {21%, CITR}; and `State income tax rate`: maximum of {0%; CITR - 21%} | `Singleowner` | `federal_tax_rate`, `state_tax_rate` | GEOPHIRES does not have separate parameters for federal and state income tax so the rates are split from the combined rate based on an assumption of a maximum federal tax rate of 21% and the residual amount being the state tax rate. | +| `Property Tax Rate` | Financial Parameters | `Property tax rate` | `Singleowner` | `property_tax_rate` | .. N/A | +| `Fraction of Investment in Bonds` | Financial Parameters → Project Term Debt | `Debt percent` | `Singleowner` | `debt_percent` | .. N/A | +| `Inflated Bond Interest Rate` | Financial Parameters → Project Term Debt | `Annual interest rate` | `Singleowner` | `term_int_rate` | .. N/A | +| `Starting Electricity Sale Price`, `Ending Electricity Sale Price`, `Electricity Escalation Rate Per Year`, `Electricity Escalation Start Year` | Revenue | `PPA price` | `Singleowner` | `ppa_price_input` | GEOPHIRES's pricing model is used to create a PPA price schedule that is passed to SAM. | +| `Investment Tax Credit Rate` | Incentives → Investment Tax Credit (ITC) | `Federal` → `Percentage (%)` | `Singleowner` | `itc_fed_percent` | .. N/A | +| `Production Tax Credit Electricity` | Incentives → Production Tax Credit (PTC) | `Federal` → `Amount ($/kWh)` | `Singleowner` | `ptc_fed_amount` | .. N/A | +| `Production Tax Credit Duration` | Incentives → Production Tax Credit (PTC) | `Federal` → `Term (years)` | `Singleowner` | `ptc_fed_term` | .. N/A | +| `Production Tax Credit Inflation Adjusted`, `Inflation Rate` | Incentives → Production Tax Credit (PTC) | `Federal` → `Escalation (%/yr)` | `Singleowner` | `ptc_fed_escal` | If `Production Tax Credit Inflation Adjusted` = True, GEOPHIRES set's SAM's PTC escalation rate to the inflation rate. SAM applies the escalation rate to years 2 and later of the project cash flow. Note that this produces escalation rates that are similar to inflation-adjusted equivalents, but not exactly equal. | +| `Other Incentives` + `One-time Grants Etc` | Incentives → Investment Based Incentive (IBI) | `Other` → `Amount ($)` | `Singleowner` | `ibi_oth_amount` | .. N/A | + +.. +.. Comment entries of ".. N/A" render as blank in the final RST, by design. +.. This entry value is required because m2r2 (https://pypi.org/project/m2r2/) seems to choke and bail on rendering +.. the entire table when blank comment entries are blank. Make sure to check this doesn't happen when making changes +.. to this file by running `tox -e docs` and opening `dist/docs/SAM-Economic-Models.html` in your browser! +.. +.. TODO: Generate this programmatically (like schema generator) to prevent drift between code and documentation. +.. + +### Limitations + +1. Only Electricity end-use is supported +2. Only 1 construction year is supported +3. The following economic outputs are not calculated: + 1. Project VIR=PI=PIR + 2. Project MOIC + 3. Project Payback Period diff --git a/docs/conf.py b/docs/conf.py index c95ba5b65..051974f0e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,13 +18,13 @@ year = '2025' author = 'NREL' copyright = f'{year}, {author}' -version = release = '3.8.14' +version = release = '3.9.6' pygments_style = 'trac' templates_path = ['./templates'] extlinks = { - 'issue': ('https://github.com/NREL/python-geophires-x/issues/%s', '#'), - 'pr': ('https://github.com/NREL/python-geophires-x/pull/%s', 'PR #'), + 'issue': ('https://github.com/NREL/GEOPHIRES-X/issues/%s', '#'), + 'pr': ('https://github.com/NREL/GEOPHIRES-X/pull/%s', 'PR #'), } # html_theme = 'alabaster' # alternative possible theme @@ -32,7 +32,7 @@ html_theme = 'sphinx_py3doc_enhanced_theme' html_theme_path = [sphinx_py3doc_enhanced_theme.get_html_theme_path()] html_theme_options = { - 'githuburl': 'https://github.com/NREL/python-geophires-x/', + 'githuburl': 'https://github.com/NREL/GEOPHIRES-X/', } html_use_smartypants = True diff --git a/docs/index.rst b/docs/index.rst index a48bbd681..d45a88f8f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,6 +10,7 @@ Contents How-to-extend-GEOPHIRES-X hip_ra_x_parameters Monte-Carlo-User-Guide + SAM-Economic-Models .. reference/index Indices and tables diff --git a/docs/templates/layout.html b/docs/templates/layout.html index 6fc9c1dd4..36ebc9d2a 100644 --- a/docs/templates/layout.html +++ b/docs/templates/layout.html @@ -15,4 +15,10 @@ } }) + {% endblock %} diff --git a/pyproject.toml b/pyproject.toml index 9dff39482..7e1617c2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,11 @@ requires = [ extend-exclude = ["static", "ci/templates", "src/geophires_x"] # Incrementally add files to this list as they are cleaned up -extend-include=["src/geophires_x/GEOPHIRESv3.py"] +extend-include=[ + "src/geophires_x/GEOPHIRESv3.py", + "src/geophires_x/EconomicsSam.py", + "src/geophires_x/EconomicsSamCashFlow.py", +] ignore = [ "RUF001", # ruff-specific rules ambiguous-unicode-character-string diff --git a/setup.py b/setup.py index 3cb9b5687..e6264bc19 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def read(*names, **kwargs): setup( name='geophires-x', - version='3.8.14', + version='3.9.6', license='MIT', description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.', long_description='{}\n{}'.format( @@ -83,11 +83,13 @@ def read(*names, **kwargs): 'coolprop==6.7.0; python_version == "3.8"', 'rich', 'pylocker', + 'nrel-pysam', + 'tabulate', ], extras_require={ # eg: # "rst": ["docutils>=0.11"], # ":python_version=="2.6"": ["argparse"], - 'development': ['bumpversion'] + 'development': ['bumpversion', 'sphinx_py3doc_enhanced_theme'] }, ) diff --git a/src/geophires_sam_economics/.gitignore b/src/geophires_sam_economics/.gitignore new file mode 100644 index 000000000..f53f99c08 --- /dev/null +++ b/src/geophires_sam_economics/.gitignore @@ -0,0 +1,4 @@ +# scratch files +draft_issue.md +sam-cash-flow-table-comparison.csv +sam-cash-flow-table-saved.csv diff --git a/src/geophires_sam_economics/Cashloan.html.txt b/src/geophires_sam_economics/Cashloan.html.txt new file mode 100644 index 000000000..521753143 --- /dev/null +++ b/src/geophires_sam_economics/Cashloan.html.txt @@ -0,0 +1,3944 @@ +Cashloan + +Cashloan + +PySAM.Cashloan.default(config) → Cashloan + + Load defaults for the configuration config. Available configurations are: + + “CustomGenerationBatteryCommercial” + + “CustomGenerationBatteryResidential” + + “CustomGenerationProfileCommercial” + + “CustomGenerationProfileResidential” + + “DSLFCommercial” + + “EmpiricalTroughCommercial” + + “FlatPlatePVCommercial” + + “FlatPlatePVResidential” + + “FuelCellCommercial” + + “GenericCSPSystemCommercial” + + “PVBatteryCommercial” + + “PVBatteryResidential” + + “PVWattsBatteryCommercial” + + “PVWattsBatteryResidential” + + “PVWattsCommercial” + + “PVWattsResidential” + + “PhysicalTroughCommercial” + + “SolarWaterHeatingCommercial” + + “SolarWaterHeatingResidential” + + “StandaloneBatteryCommercial” + + “StandaloneBatteryResidential” + + “WindPowerCommercial” + + “WindPowerResidential” + + Note + + Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below. + +PySAM.Cashloan.from_existing(data, optional config) → Cashloan + + Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration. + +PySAM.Cashloan.new() → Cashloan + +PySAM.Cashloan.wrap(ssc_data_t) → Cashloan + + Load data from a PySSC object. + + Warning + + Do not call PySSC.data_free on the ssc_data_t provided to wrap() + +Cashloan is a wrapper for the SSC compute module cmod_cashloan.cpp +Interdependent Variables + +The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details. + + battery_per_kWh + + battery_total_cost_lcos + + om_batt_nameplate + + total_installed_cost + +Functions + +class PySAM.Cashloan.Cashloan + + This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown. + + assign(dict) → None + + Assign attributes from nested dictionary, except for Outputs + + nested_dict = { 'Financial Parameters': { var: val, ...}, ...} + + execute(int verbosity) → None + + Execute simulation with verbosity level 0 (default) or 1 + + export() → dict + + Export attributes into nested dictionary + + get_data_ptr() → Pointer + + Get ssc_data_t pointer + + replace(dict) → None + + Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict. + + nested_dict = { 'Financial Parameters': { var: val, ...}, ...} + + unassign(name) → None + + Unassign a value in any of the variable groups. + + value(name, optional value) → None | float | dict | sequence | str + + Get or set by name a value in any of the variable groups. + +FinancialParameters Group + +class PySAM.Cashloan.Cashloan.FinancialParameters + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + FinancialParameters_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + FinancialParameters_vals = { var: val, ...} + + analysis_period + + Analyis period [years] + + Constraints: INTEGER,MIN=0,MAX=50 + + Required: False. Automatically set to 30 if not assigned explicitly or loaded from defaults. + + Type: + + float + + debt_fraction + + Debt percentage [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + federal_tax_rate + + Federal income tax rate [%] + + Required: True + + Type: + + sequence + + inflation_rate + + Inflation rate [%] + + Constraints: MIN=-99 + + Required: True + + Type: + + float + + insurance_rate + + Insurance rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + loan_rate + + Loan rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + loan_term + + Loan term [years] + + Constraints: INTEGER,MIN=0,MAX=50 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + market + + Residential or Commercial Market [0/1] + + Options: 0=residential,1=comm. + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + mortgage + + Use mortgage style loan (res. only) [0/1] + + Options: 0=standard loan,1=mortgage + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + prop_tax_assessed_decline + + Assessed value annual decline [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + prop_tax_cost_assessed_percent + + Percent of pre-financing costs assessed [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 95 if not assigned explicitly or loaded from defaults. + + Type: + + float + + property_tax_rate + + Property tax rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + real_discount_rate + + Real discount rate [%] + + Constraints: MIN=-99 + + Required: True + + Type: + + float + + salvage_percentage + + Salvage value percentage [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + state_tax_rate + + State income tax rate [%] + + Required: True + + Type: + + sequence + + system_capacity + + System nameplate capacity [kW] + + Constraints: POSITIVE + + Required: True + + The value of the following variables depends on system_capacity: + + battery_total_cost_lcos + + total_installed_cost + + Type: + + float + + system_heat_rate + + System heat rate [MMBTus/MWh] + + Constraints: MIN=0 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +SystemCosts Group + +class PySAM.Cashloan.Cashloan.SystemCosts + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + SystemCosts_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + SystemCosts_vals = { var: val, ...} + + add_om_num_types + + Number of O and M types + + Info: battery,fuelcell + + Constraints: INTEGER,MIN=0,MAX=2 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + annual_fuel_usage + + Fuel usage (yr 1) [kWht] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Constraints: MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + annual_fuel_usage_lifetime + + Fuel usage (lifetime) [kWht] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Type: + + sequence + + om_batt_capacity_cost + + Battery capacity-based System Costs amount [$/kWcap] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_fixed_cost + + Battery fixed System Costs annual amount [$/year] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_nameplate + + Battery capacity for System Costs values [kW] + + Info: battery + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_batt_replacement_cost + + Replacement cost 1 [$/kWh] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_variable_cost + + Battery production-based System Costs amount [$/MWh] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_capacity + + Capacity-based O&M amount [$/kWcap] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_capacity_escal + + Capacity-based O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fixed + + Fixed O&M annual amount [$/year] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fixed_escal + + Fixed O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuel_cost + + Fuel cost [$/MMBtu] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuel_cost_escal + + Fuel cost escalation [%/year] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuelcell_capacity_cost + + Fuel cell capacity-based System Costs amount [$/kWcap] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_fixed_cost + + Fuel cell fixed System Costs annual amount [$/year] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_nameplate + + Fuel cell capacity for System Costs values [kW] + + Info: fuelcell + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuelcell_replacement_cost + + Replacement cost 2 [$/kW] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_variable_cost + + Fuel cell production-based System Costs amount [$/MWh] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_1_cost + + Biomass feedstock cost [$/unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_1_cost_escal + + Biomass feedstock cost escalation [%/year] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_1_usage + + Biomass feedstock usage [unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_2_cost + + Coal feedstock cost [$/unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_2_cost_escal + + Coal feedstock cost escalation [%/year] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_2_usage + + Coal feedstock usage [unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_production + + Production-based O&M amount [$/MWh] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production1_values + + Battery production for System Costs values [kWh] + + Info: battery + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production2_values + + Fuel cell production for System Costs values [kWh] + + Info: fuelcell + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production_escal + + Production-based O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_replacement_cost_escal + + Replacement cost escalation [%/year] + + Info: battery,fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + total_installed_cost + + Total installed cost [$] + + Constraints: MIN=0 + + Required: True + + The value of total_installed_cost depends on the following variables: + + battery_per_kWh + + Type: + + float + +LandLease Group + +class PySAM.Cashloan.Cashloan.LandLease + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + LandLease_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + LandLease_vals = { var: val, ...} + + land_area + + Total land area [acres] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_land_lease + + Land lease cost [$/acre] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_land_lease_escal + + Land lease cost escalation [%/yr] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +Depreciation Group + +class PySAM.Cashloan.Cashloan.Depreciation + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Depreciation_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Depreciation_vals = { var: val, ...} + + depr_fed_custom + + Federal custom depreciation [%/year] + + Required: Required if depr_fed_type=3 + + Type: + + sequence + + depr_fed_sl_years + + Federal depreciation straight-line Years [years] + + Constraints: INTEGER,POSITIVE + + Required: Required if depr_fed_type=2 + + Type: + + float + + depr_fed_type + + Federal depreciation type + + Options: 0=none,1=macrs_half_year,2=sl,3=custom + + Constraints: INTEGER,MIN=0,MAX=3 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_sta_custom + + State custom depreciation [%/year] + + Required: Required if depr_sta_type=3 + + Type: + + sequence + + depr_sta_sl_years + + State depreciation straight-line years [years] + + Constraints: INTEGER,POSITIVE + + Required: Required if depr_sta_type=2 + + Type: + + float + + depr_sta_type + + State depreciation type + + Options: 0=none,1=macrs_half_year,2=sl,3=custom + + Constraints: INTEGER,MIN=0,MAX=3 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +TaxCreditIncentives Group + +class PySAM.Cashloan.Cashloan.TaxCreditIncentives + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + TaxCreditIncentives_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + TaxCreditIncentives_vals = { var: val, ...} + + itc_fed_amount + + Federal amount-based ITC amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_fed_amount_deprbas_fed + + Federal amount-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_amount_deprbas_sta + + Federal amount-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent + + Federal percentage-based ITC percent [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_fed_percent_deprbas_fed + + Federal percentage-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent_deprbas_sta + + Federal percentage-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent_maxvalue + + Federal percentage-based ITC maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_amount + + State amount-based ITC amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_amount_deprbas_fed + + State amount-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_amount_deprbas_sta + + State amount-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent + + State percentage-based ITC percent [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_percent_deprbas_fed + + State percentage-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent_deprbas_sta + + State percentage-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent_maxvalue + + State percentage-based ITC maximum Value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_fed_amount + + Federal PTC amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_fed_escal + + Federal PTC escalation [%/year] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_fed_term + + Federal PTC term [years] + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_sta_amount + + State PTC amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_sta_escal + + State PTC escalation [%/year] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_sta_term + + State PTC term [years] + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + +PaymentIncentives Group + +class PySAM.Cashloan.Cashloan.PaymentIncentives + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + PaymentIncentives_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + PaymentIncentives_vals = { var: val, ...} + + cbi_fed_amount + + Federal CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_deprbas_fed + + Federal CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_deprbas_sta + + Federal CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_maxvalue + + Federal CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_tax_fed + + Federal CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_tax_sta + + Federal CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_amount + + Other CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_deprbas_fed + + Other CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_deprbas_sta + + Other CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_maxvalue + + Other CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_tax_fed + + Other CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_tax_sta + + Other CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_amount + + State CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_deprbas_fed + + State CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_deprbas_sta + + State CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_maxvalue + + State CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_tax_fed + + State CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_tax_sta + + State CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_amount + + Utility CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_deprbas_fed + + Utility CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_deprbas_sta + + Utility CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_maxvalue + + Utility CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_tax_fed + + Utility CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_tax_sta + + Utility CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount + + Federal amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_deprbas_fed + + Federal amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_deprbas_sta + + Federal amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_tax_fed + + Federal amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_tax_sta + + Federal amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent + + Federal percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_deprbas_fed + + Federal percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_deprbas_sta + + Federal percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_maxvalue + + Federal percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_tax_fed + + Federal percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_tax_sta + + Federal percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount + + Other amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_deprbas_fed + + Other amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_deprbas_sta + + Other amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_tax_fed + + Other amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_tax_sta + + Other amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent + + Other percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_deprbas_fed + + Other percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_deprbas_sta + + Other percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_maxvalue + + Other percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_tax_fed + + Other percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_tax_sta + + Other percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount + + State amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_deprbas_fed + + State amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_deprbas_sta + + State amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_tax_fed + + State amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_tax_sta + + State amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent + + State percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_deprbas_fed + + State percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_deprbas_sta + + State percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_maxvalue + + State percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_tax_fed + + State percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_tax_sta + + State percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount + + Utility amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_deprbas_fed + + Utility amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_deprbas_sta + + Utility amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_tax_fed + + Utility amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_tax_sta + + Utility amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent + + Utility percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_deprbas_fed + + Utility percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_deprbas_sta + + Utility percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_maxvalue + + Utility percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_tax_fed + + Utility percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_tax_sta + + Utility percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_amount + + Federal PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_fed_escal + + Federal PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_tax_fed + + Federal PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_tax_sta + + Federal PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_term + + Federal PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_amount + + Other PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_oth_escal + + Other PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_tax_fed + + Other PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_tax_sta + + Other PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_term + + Other PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_amount + + State PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_sta_escal + + State PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_tax_fed + + State PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_tax_sta + + State PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_term + + State PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_amount + + Utility PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_uti_escal + + Utility PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_tax_fed + + Utility PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_tax_sta + + Utility PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_term + + Utility PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +BatterySystem Group + +class PySAM.Cashloan.Cashloan.BatterySystem + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + BatterySystem_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + BatterySystem_vals = { var: val, ...} + + batt_bank_replacement + + Battery bank replacements per year [number/year] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_computed_bank_capacity + + Battery bank capacity [kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + The value of the following variables depends on batt_computed_bank_capacity: + + battery_total_cost_lcos + + om_batt_nameplate + + total_installed_cost + + Type: + + float + + batt_replacement_option + + Enable battery replacement? [0=none,1=capacity based,2=user schedule] + + Constraints: INTEGER,MIN=0,MAX=2 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + batt_replacement_schedule_percent + + Percentage of battery capacity to replace in each year [%] + + Options: length <= analysis_period + + Type: + + sequence + + battery_per_kWh + + Battery cost [$/kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + The value of the following variables depends on battery_per_kWh: + + battery_total_cost_lcos + + total_installed_cost + + Type: + + float + + en_batt + + Enable battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + en_standalone_batt + + Enable standalone battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + en_wave_batt + + Enable standalone battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +FuelCell Group + +class PySAM.Cashloan.Cashloan.FuelCell + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + FuelCell_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + FuelCell_vals = { var: val, ...} + + annual_fuel_usage_lifetime + + Annual Fuel Usage (lifetime) [kWht] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + en_fuelcell + + Enable fuel cell storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_annual_energy_discharged + + Fuel cell annual energy discharged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + fuelcell_computed_bank_capacity + + Fuel cell capacity [kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_per_kWh + + Fuel cell cost [$/kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_replacement + + Fuel cell replacements per year [number/year] + + Type: + + sequence + + fuelcell_replacement_option + + Enable fuel cell replacement? [0=none,1=capacity based,2=user schedule] + + Constraints: INTEGER,MIN=0,MAX=2 + + Type: + + float + + fuelcell_replacement_schedule + + Fuel cell replacements per year (user specified) [number/year] + + Type: + + sequence + +ChargesByMonth Group + +class PySAM.Cashloan.Cashloan.ChargesByMonth + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + ChargesByMonth_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + ChargesByMonth_vals = { var: val, ...} + + charge_w_sys_dc_tou_ym + + Demand charge with system (TOU) [$] + + Required: True + + Type: + + sequence[sequence] + + charge_w_sys_ec_ym + + Energy charge with system [$] + + Type: + + sequence[sequence] + + charge_w_sys_fixed_ym + + Fixed monthly charge with system [$] + + Required: True + + Type: + + sequence[sequence] + + net_billing_credits_ym + + Net billing credit [$] + + Required: True + + Type: + + sequence[sequence] + + nm_dollars_applied_ym + + Net metering credit [$] + + Required: True + + Type: + + sequence[sequence] + + true_up_credits_ym + + Net annual true-up payments [$] + + Type: + + sequence[sequence] + + utility_bill_w_sys + + Electricity bill for system [$] + + Required: True + + Type: + + sequence + +Battery Group + +class PySAM.Cashloan.Cashloan.Battery + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Battery_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Battery_vals = { var: val, ...} + + batt_capacity_percent + + Battery relative capacity to nameplate [%] + + Type: + + sequence + + monthly_batt_to_grid + + Energy to grid from battery [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_batt + + Energy to battery from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_load + + Energy to load from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + +TimeSeries Group + +class PySAM.Cashloan.Cashloan.TimeSeries + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + TimeSeries_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + TimeSeries_vals = { var: val, ...} + + year1_hourly_dc_with_system + + Demand charge with system (year 1 hourly) [$] + + Required: True + + Type: + + sequence + + year1_hourly_e_fromgrid + + Electricity from grid (year 1 hourly) [kWh] + + Required: True + + Type: + + sequence + + year1_hourly_ec_with_system + + Energy charge with system (year 1 hourly) [$] + + Required: True + + Type: + + sequence + +SystemOutput Group + +class PySAM.Cashloan.Cashloan.SystemOutput + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + SystemOutput_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + SystemOutput_vals = { var: val, ...} + + annual_energy_value + + Energy value [$] + + Required: True + + Type: + + sequence + + annual_thermal_value + + Energy value [$] + + Type: + + sequence + + degradation + + Annual degradation [%] + + Required: True + + Type: + + sequence + + gen + + Power generated by renewable resource [kW] + + Required: True + + Type: + + sequence + + gen_purchases + + Electricity from grid to system [kW] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + +Lifetime Group + +class PySAM.Cashloan.Cashloan.Lifetime + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Lifetime_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Lifetime_vals = { var: val, ...} + + system_use_lifetime_output + + Lifetime hourly system outputs [0/1] + + Options: 0=hourly first year,1=hourly lifetime + + Constraints: INTEGER,MIN=0 + + Required: True + + Type: + + float + +LCOS Group + +class PySAM.Cashloan.Cashloan.LCOS + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + LCOS_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + LCOS_vals = { var: val, ...} + + batt_annual_charge_energy + + Battery annual energy charged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_annual_charge_from_system + + Battery annual energy charged from system [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_annual_discharge_energy + + Battery annual energy discharged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_capacity_percent + + Battery relative capacity to nameplate [%] + + Type: + + sequence + + batt_salvage_percentage + + Net pre-tax cash battery salvage value [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + battery_total_cost_lcos + + Battery total investment cost [$] + + The value of battery_total_cost_lcos depends on the following variables: + + battery_per_kWh + + Type: + + float + + charge_w_sys_ec_ym + + Energy charge with system [$] + + Type: + + sequence[sequence] + + grid_to_batt + + Electricity to grid from battery [kW] + + Type: + + sequence + + monthly_batt_to_grid + + Energy to grid from battery [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_batt + + Energy to battery from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_load + + Energy to load from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_system_to_grid + + Energy to grid from system [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + true_up_credits_ym + + Net annual true-up payments [$] + + Type: + + sequence[sequence] + + year1_monthly_ec_charge_gross_with_system + + Energy charge with system before credits [$/mo] + + Constraints: LENGTH=12 + + Type: + + sequence + + year1_monthly_ec_charge_with_system + + Energy charge with system [$] + + Type: + + sequence + + year1_monthly_electricity_to_grid + + Electricity to/from grid [kWh/mo] + + Constraints: LENGTH=12 + + Type: + + sequence + +ElectricityRates Group + +class PySAM.Cashloan.Cashloan.ElectricityRates + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + ElectricityRates_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + ElectricityRates_vals = { var: val, ...} + + rate_escalation + + Annual electricity rate escalation [%/year] + + Type: + + sequence + +Outputs Group + +class PySAM.Cashloan.Cashloan.Outputs + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Outputs_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Outputs_vals = { var: val, ...} + + adjusted_installed_cost + + Net capital cost [$] + + Type: + + float + + cbi_fedtax_total + + Federal taxable CBI income [$] + + Type: + + float + + cbi_statax_total + + State taxable CBI income [$] + + Type: + + float + + cbi_total + + Total CBI income [$] + + Type: + + float + + cbi_total_fed + + Federal CBI income [$] + + Type: + + float + + cbi_total_oth + + Other CBI income [$] + + Type: + + float + + cbi_total_sta + + State CBI income [$] + + Type: + + float + + cbi_total_uti + + Utility CBI income [$] + + Type: + + float + + cf_after_tax_cash_flow + + After-tax cash flow [$] + + Type: + + sequence + + cf_after_tax_net_equity_cost_flow + + After-tax annual costs [$] + + Type: + + sequence + + cf_annual_cost_lcos + + Annual storage costs [$] + + Type: + + sequence + + cf_annual_discharge_lcos + + Annual storage discharge [kWh] + + Type: + + sequence + + cf_battery_replacement_cost + + Battery replacement cost [$] + + Type: + + sequence + + cf_battery_replacement_cost_schedule + + Battery replacement cost schedule [$] + + Type: + + sequence + + cf_charging_cost_grid + + Annual cost to charge from grid [$] + + Type: + + sequence + + cf_charging_cost_grid_month + + Annual cost to charge from grid (monthly) [$] + + Type: + + sequence + + cf_charging_cost_pv + + Annual cost to charge from system [$] + + Type: + + sequence + + cf_cumulative_payback_with_expenses + + Cumulative simple payback with expenses [$] + + Type: + + sequence + + cf_cumulative_payback_without_expenses + + Cumulative simple payback without expenses [$] + + Type: + + sequence + + cf_debt_balance + + Debt balance [$] + + Type: + + sequence + + cf_debt_payment_interest + + Interest payment [$] + + Type: + + sequence + + cf_debt_payment_principal + + Principal payment [$] + + Type: + + sequence + + cf_debt_payment_total + + Total P&I debt payment [$] + + Type: + + sequence + + cf_deductible_expenses + + Deductible expenses [$] + + Type: + + sequence + + cf_discounted_costs + + Discounted costs [$] + + Type: + + sequence + + cf_discounted_cumulative_payback + + Cumulative discounted payback [$] + + Type: + + sequence + + cf_discounted_payback + + Discounted payback [$] + + Type: + + sequence + + cf_discounted_savings + + Discounted savings [$] + + Type: + + sequence + + cf_effective_tax_frac + + Effective income tax rate [frac] + + Type: + + sequence + + cf_energy_net + + Electricity net generation [kWh] + + Type: + + sequence + + cf_energy_purchases + + Electricity from grid to system [kWh] + + Type: + + sequence + + cf_energy_sales + + Electricity generation [kWh] + + Type: + + sequence + + cf_energy_value + + Value of electricity savings [$] + + Type: + + sequence + + cf_energy_without_battery + + Electricity generated without the battery or curtailment [kWh] + + Type: + + sequence + + cf_fed_depr_sched + + Federal depreciation schedule [%] + + Type: + + sequence + + cf_fed_depreciation + + Federal depreciation [$] + + Type: + + sequence + + cf_fed_incentive_income_less_deductions + + Federal incentive income less deductions [$] + + Type: + + sequence + + cf_fed_tax_savings + + Federal tax savings [$] + + Type: + + sequence + + cf_fed_taxable_incentive_income + + Federal taxable incentive income [$] + + Type: + + sequence + + cf_fed_taxable_income_less_deductions + + Federal taxable income less deductions [$] + + Type: + + sequence + + cf_federal_tax_frac + + Federal income tax rate [frac] + + Type: + + sequence + + cf_fuelcell_replacement_cost + + Fuel cell replacement cost [$] + + Type: + + sequence + + cf_fuelcell_replacement_cost_schedule + + Fuel cell replacement cost schedule [$/kW] + + Type: + + sequence + + cf_insurance_expense + + Insurance expense [$] + + Type: + + sequence + + cf_itc_fed + + Federal ITC total income [$] + + Type: + + sequence + + cf_itc_fed_amount + + Federal ITC amount income [$] + + Type: + + sequence + + cf_itc_fed_percent_amount + + Federal ITC percent income [$] + + Type: + + sequence + + cf_itc_sta + + State ITC total income [$] + + Type: + + sequence + + cf_itc_sta_amount + + State ITC amount income [$] + + Type: + + sequence + + cf_itc_sta_percent_amount + + State ITC percent income [$] + + Type: + + sequence + + cf_itc_total + + Total ITC income [$] + + Type: + + sequence + + cf_land_lease_expense + + Land lease expense [$] + + Type: + + sequence + + cf_length + + Number of periods in cash flow + + Type: + + float + + cf_net_salvage_value + + Net salvage value [$] + + Type: + + sequence + + cf_nte + + NTE Not to exceed [cents/kWh] + + Type: + + sequence + + cf_om_batt_capacity_expense + + Annual cost for battery capacity based maintenance [$] + + Type: + + sequence + + cf_om_batt_fixed_expense + + Annual fixed cost for battery maintenance [$] + + Type: + + sequence + + cf_om_capacity1_expense + + O&M battery capacity-based expense [$] + + Type: + + sequence + + cf_om_capacity2_expense + + O&M fuel cell capacity-based expense [$] + + Type: + + sequence + + cf_om_capacity_expense + + O&M capacity-based expense [$] + + Type: + + sequence + + cf_om_fixed1_expense + + O&M battery fixed expense [$] + + Type: + + sequence + + cf_om_fixed2_expense + + O&M fuel cell fixed expense [$] + + Type: + + sequence + + cf_om_fixed_expense + + O&M fixed expense [$] + + Type: + + sequence + + cf_om_fuel_expense + + Fuel expense [$] + + Type: + + sequence + + cf_om_opt_fuel_1_expense + + Feedstock biomass expense [$] + + Type: + + sequence + + cf_om_opt_fuel_2_expense + + Feedstock coal expense [$] + + Type: + + sequence + + cf_om_production1_expense + + O&M battery production-based expense [$] + + Type: + + sequence + + cf_om_production2_expense + + O&M fuel cell production-based expense [$] + + Type: + + sequence + + cf_om_production_expense + + O&M production-based expense [$] + + Type: + + sequence + + cf_operating_expenses + + Total operating expense [$] + + Type: + + sequence + + cf_parasitic_cost + + Parasitic load costs [$] + + Type: + + sequence + + cf_payback_with_expenses + + Simple payback with expenses [$] + + Type: + + sequence + + cf_payback_without_expenses + + Simple payback without expenses [$] + + Type: + + sequence + + cf_pbi_fedtax_total + + Federal taxable PBI income [$] + + Type: + + sequence + + cf_pbi_statax_total + + State taxable PBI income [$] + + Type: + + sequence + + cf_pbi_total + + Total PBI income [$] + + Type: + + sequence + + cf_pbi_total_fed + + Federal PBI income [$] + + Type: + + sequence + + cf_pbi_total_oth + + Other PBI income [$] + + Type: + + sequence + + cf_pbi_total_sta + + State PBI income [$] + + Type: + + sequence + + cf_pbi_total_uti + + Utility PBI income [$] + + Type: + + sequence + + cf_property_tax_assessed_value + + Property tax net assessed value [$] + + Type: + + sequence + + cf_property_tax_expense + + Property tax expense [$] + + Type: + + sequence + + cf_ptc_fed + + Federal PTC income [$] + + Type: + + sequence + + cf_ptc_sta + + State PTC income [$] + + Type: + + sequence + + cf_salvage_cost_lcos + + Annual battery salvage value costs [$] + + Type: + + sequence + + cf_sta_and_fed_tax_savings + + Total tax savings (federal and state) [$] + + Type: + + sequence + + cf_sta_depr_sched + + State depreciation schedule [%] + + Type: + + sequence + + cf_sta_depreciation + + State depreciation [$] + + Type: + + sequence + + cf_sta_incentive_income_less_deductions + + State incentive income less deductions [$] + + Type: + + sequence + + cf_sta_tax_savings + + State tax savings [$] + + Type: + + sequence + + cf_sta_taxable_incentive_income + + State taxable incentive income [$] + + Type: + + sequence + + cf_sta_taxable_income_less_deductions + + State taxable income less deductions [$] + + Type: + + sequence + + cf_state_tax_frac + + State income tax rate [frac] + + Type: + + sequence + + cf_thermal_value + + Value of thermal savings [$] + + Type: + + sequence + + cf_util_escal_rate + + Utility escalation rate + + Type: + + sequence + + cf_utility_bill + + Electricity purchase [$] + + Type: + + sequence + + cf_value_added + + Real estate value added [$] + + Type: + + sequence + + discounted_payback + + Discounted payback period [years] + + Type: + + float + + effective_tax_rate + + Effective tax rate [%] + + Type: + + float + + first_cost + + Equity [$] + + Type: + + float + + ibi_fedtax_total + + Federal taxable IBI income [$] + + Type: + + float + + ibi_statax_total + + State taxable IBI income [$] + + Type: + + float + + ibi_total + + Total IBI income [$] + + Type: + + float + + ibi_total_fed + + Federal IBI income [$] + + Type: + + float + + ibi_total_oth + + Other IBI income [$] + + Type: + + float + + ibi_total_sta + + State IBI income [$] + + Type: + + float + + ibi_total_uti + + Utility IBI income [$] + + Type: + + float + + irr + + IRR Internal rate of return [$] + + Type: + + float + + itc_total + + Total ITC income [$] + + Type: + + float + + itc_total_fed + + Federal ITC income [$] + + Type: + + float + + itc_total_sta + + State ITC income [$] + + Type: + + float + + lcoe_nom + + LCOE Levelized cost of energy nominal [cents/kWh] + + Type: + + float + + lcoe_real + + LCOE Levelized cost of energy real [cents/kWh] + + Type: + + float + + lcoptc_fed_nom + + Levelized federal PTC nominal [cents/kWh] + + Type: + + float + + lcoptc_fed_real + + Levelized federal PTC real [cents/kWh] + + Type: + + float + + lcoptc_sta_nom + + Levelized state PTC nominal [cents/kWh] + + Type: + + float + + lcoptc_sta_real + + Levelized state PTC real [cents/kWh] + + Type: + + float + + lcos_nom + + LCOS Levelized cost of storage nominal [cents/kWh] + + Type: + + float + + lcos_real + + LCOS Levelized cost of storage real [cents/kWh] + + Type: + + float + + lnte_nom + + NTE Not to exceed nominal [cents/kWh] + + Type: + + float + + lnte_real + + NTE Not to exceed real [cents/kWh] + + Type: + + float + + loan_amount + + Debt [$] + + Type: + + float + + nominal_discount_rate + + Nominal discount rate [%] + + Type: + + float + + npv + + NPV Net present value [$] + + Type: + + float + + npv_annual_costs_lcos + + Present value of annual storage costs [$] + + Type: + + float + + npv_energy_lcos_nom + + Present value of annual stored energy (nominal) [kWh] + + Type: + + float + + npv_energy_lcos_real + + Present value of annual stored energy (real) [kWh] + + Type: + + float + + payback + + Payback period [years] + + Type: + + float + + present_value_fuel + + Present value of fuel expenses [$] + + Type: + + float + + present_value_insandproptax + + Present value of insurance and property tax [$] + + Type: + + float + + present_value_oandm + + Present value of O&M expenses [$] + + Type: + + float + + present_value_oandm_nonfuel + + Present value of non-fuel O&M expenses [$] + + Type: + + float + + total_cost + + Total installed cost [$] + + Type: + + float + + wacc + + WACC Weighted average cost of capital + + Type: + + float + + year1_nte + + NTE Not to exceed Year 1 [cents/kWh] + + Type: + + float diff --git a/src/geophires_sam_economics/Generic_400_MWe.sam b/src/geophires_sam_economics/Generic_400_MWe.sam new file mode 100644 index 000000000..b1972ad14 Binary files /dev/null and b/src/geophires_sam_economics/Generic_400_MWe.sam differ diff --git a/src/geophires_sam_economics/README.md b/src/geophires_sam_economics/README.md new file mode 100644 index 000000000..f67bdfca0 --- /dev/null +++ b/src/geophires_sam_economics/README.md @@ -0,0 +1,22 @@ +# About + +This is a utility module used to generate config/metadata for SAM economics (not part of GEOPHIRES runtime) + +# Generate Baseline PySAM JSON + +1. Open `Generic_400_MWe.sam` in SAM +2. Select Generic 400 MWe case tab -> Generate code... -> select `src/geophires_x/sam_economics/Generic_400_MWe` + directory -> OK ![](generate-code-screenshot-1.png) + +# SAM Module docs + +Sources: + +1. `Cashloan.html.txt`: https://nrel-pysam.readthedocs.io/en/main/modules/Cashloan.html +1. `Singleowner.html.txt`: https://nrel-pysam.readthedocs.io/en/main/modules/Singleowner.html + +To update sources, visit links, manually select relevant text from page, and copy-paste into corresponding `.html.txt` +file. + +Instructions: Run `geophires_sam_economics/main.py` and copy-paste the relevant output in +`geophires_x/sam_economics/sam-output-properties.json` diff --git a/src/geophires_sam_economics/Singleowner.html.txt b/src/geophires_sam_economics/Singleowner.html.txt new file mode 100644 index 000000000..f8bd3dd05 --- /dev/null +++ b/src/geophires_sam_economics/Singleowner.html.txt @@ -0,0 +1,8886 @@ +Singleowner + +PPA single owner financial model + +PySAM.Singleowner.default(config) → Singleowner + + Load defaults for the configuration config. Available configurations are: + + “BiopowerSingleOwner” + + “CustomGenerationBatterySingleOwner” + + “CustomGenerationProfileSingleOwner” + + “CustomGenerationPVWattsWindFuelCellBatteryHybridSingleOwner” + + “DSLFSingleOwner” + + “ETESSingleOwner” + + “EmpiricalTroughSingleOwner” + + “FlatPlatePVSingleOwner” + + “FuelCellSingleOwner” + + “GenericCSPSystemSingleOwner” + + “GeothermalPowerSingleOwner” + + “HighXConcentratingPVSingleOwner” + + “MEwaveBatterySingleOwner” + + “MEwaveSingleOwner” + + “MSLFSingleOwner” + + “MSPTSingleOwner” + + “PTESSingleOwner” + + “PVBatterySingleOwner” + + “PVWattsWindBatteryHybridSingleOwner” + + “PVWattsWindFuelCellBatteryHybridSingleOwner” + + “PVWattsSingleOwner” + + “PhotovoltaicWindBatteryHybridSingleOwner” + + “PhysicalTroughSingleOwner” + + “StandaloneBatterySingleOwner” + + “WindPowerSingleOwner” + + Note + + Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below. + +PySAM.Singleowner.from_existing(data, optional config) → Singleowner + + Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration. + +PySAM.Singleowner.new() → Singleowner + +PySAM.Singleowner.wrap(ssc_data_t) → Singleowner + + Load data from a PySSC object. + + Warning + + Do not call PySSC.data_free on the ssc_data_t provided to wrap() + +Singleowner is a wrapper for the SSC compute module cmod_singleowner.cpp +Interdependent Variables + +The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details. + + battery_per_kWh + + battery_total_cost_lcos + + construction_financing_cost + + cp_battery_nameplate + + cp_system_nameplate + + land_area + + om_batt_nameplate + + total_installed_cost + +Functions + +class PySAM.Singleowner.Singleowner + + This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown. + + assign(dict) → None + + Assign attributes from nested dictionary, except for Outputs + + nested_dict = { 'Revenue': { var: val, ...}, ...} + + execute(int verbosity) → None + + Execute simulation with verbosity level 0 (default) or 1 + + export() → dict + + Export attributes into nested dictionary + + get_data_ptr() → Pointer + + Get ssc_data_t pointer + + replace(dict) → None + + Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict. + + nested_dict = { 'Revenue': { var: val, ...}, ...} + + unassign(name) → None + + Unassign a value in any of the variable groups. + + value(name, optional value) → None | float | dict | sequence | str + + Get or set by name a value in any of the variable groups. + +Revenue Group + +class PySAM.Singleowner.Singleowner.Revenue + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Revenue_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Revenue_vals = { var: val, ...} + + dispatch_factors_ts + + Dispatch payment factor array + + Required: Required if ppa_multiplier_model=1 + + Type: + + sequence + + dispatch_sched_weekday + + Diurnal weekday TOD periods [1..9] + + Info: 12 x 24 matrix + + Required: Required if ppa_multiplier_model=0 + + Type: + + sequence[sequence] + + dispatch_sched_weekend + + Diurnal weekend TOD periods [1..9] + + Info: 12 x 24 matrix + + Required: Required if ppa_multiplier_model=0 + + Type: + + sequence[sequence] + + dispatch_tod_factors + + TOD factors for periods 1 through 9 + + Required: Required if ppa_multiplier_model=0 + + Type: + + sequence + + flip_target_percent + + After-tax IRR target [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 11 if not assigned explicitly or loaded from defaults. + + Type: + + float + + flip_target_year + + IRR target year [Year] + + Constraints: MIN=1 + + Required: False. Automatically set to 11 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_escalation + + PPA escalation rate [%/year] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_multiplier_model + + PPA multiplier model [0/1] + + Options: 0=diurnal,1=timestep + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_price_input + + PPA price in first year input [$/kWh] + + Required: True + + Type: + + sequence + + ppa_soln_max + + PPA solution maximum ppa [cents/kWh] + + Required: False. Automatically set to 100 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_soln_max_iterations + + PPA solution maximum number of iterations + + Constraints: INTEGER,MIN=1 + + Required: False. Automatically set to 100 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_soln_min + + PPA solution minimum ppa [cents/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_soln_mode + + PPA solution mode [0/1] + + Options: 0=solve ppa,1=specify ppa + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ppa_soln_tolerance + + PPA solution tolerance + + Required: False. Automatically set to 1e-5 if not assigned explicitly or loaded from defaults. + + Type: + + float + +FinancialParameters Group + +class PySAM.Singleowner.Singleowner.FinancialParameters + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + FinancialParameters_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + FinancialParameters_vals = { var: val, ...} + + analysis_period + + Analyis period [years] + + Constraints: INTEGER,MIN=0,MAX=50 + + Required: False. Automatically set to 30 if not assigned explicitly or loaded from defaults. + + Type: + + float + + construction_financing_cost + + Construction financing total [$] + + Required: True + + The value of construction_financing_cost depends on the following variables: + + battery_per_kWh + + total_installed_cost + + Type: + + float + + cost_debt_closing + + Debt closing cost [$] + + Constraints: MIN=0 + + Required: False. Automatically set to 250000 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cost_debt_fee + + Debt closing fee (% of total debt amount) [%] + + Constraints: MIN=0 + + Required: False. Automatically set to 1.5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cost_other_financing + + Other financing cost [$] + + Constraints: MIN=0 + + Required: False. Automatically set to 150000 if not assigned explicitly or loaded from defaults. + + Type: + + float + + debt_option + + Debt option [0/1] + + Options: 0=debt percent,1=dscr + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + debt_percent + + Debt percent [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 50 if not assigned explicitly or loaded from defaults. + + Type: + + float + + dscr + + Debt service coverage ratio + + Constraints: MIN=0 + + Required: False. Automatically set to 1.5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + dscr_limit_debt_fraction + + Limit debt fraction [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + dscr_maximum_debt_fraction + + Maximum debt fraction [%] + + Constraints: POSITIVE + + Required: False. Automatically set to 100 if not assigned explicitly or loaded from defaults. + + Type: + + float + + dscr_reserve_months + + Debt service reserve account [months P&I] + + Constraints: MIN=0 + + Required: False. Automatically set to 6 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip1_reserve_cost + + Major equipment reserve 1 cost [$/W] + + Constraints: MIN=0 + + Required: False. Automatically set to 0.25 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip1_reserve_freq + + Major equipment reserve 1 frequency [years] + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 12 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip2_reserve_cost + + Major equipment reserve 2 cost [$/W] + + Constraints: MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip2_reserve_freq + + Major equipment reserve 2 frequency [years] + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 15 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip3_reserve_cost + + Major equipment reserve 3 cost [$/W] + + Constraints: MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip3_reserve_freq + + Major equipment reserve 3 frequency [years] + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 20 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip_reserve_depr_fed + + Major equipment reserve federal depreciation + + Options: 0=5yr MACRS,1=15yr MACRS,2=5yr SL,3=15yr SL, 4=20yr SL,5=39yr SL,6=Custom + + Constraints: INTEGER,MIN=0,MAX=6 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + equip_reserve_depr_sta + + Major equipment reserve state depreciation + + Options: 0=5yr MACRS,1=15yr MACRS,2=5yr SL,3=15yr SL, 4=20yr SL,5=39yr SL,6=Custom + + Constraints: INTEGER,MIN=0,MAX=6 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + federal_tax_rate + + Federal income tax rate [%] + + Required: True + + Type: + + sequence + + inflation_rate + + Inflation rate [%] + + Constraints: MIN=-99 + + Required: True + + Type: + + float + + insurance_rate + + Insurance rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + loan_moratorium + + Loan moratorium period [years] + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + months_receivables_reserve + + Receivables reserve months of PPA revenue [months] + + Constraints: MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + months_working_reserve + + Working capital reserve months of operating costs [months] + + Constraints: MIN=0 + + Required: False. Automatically set to 6 if not assigned explicitly or loaded from defaults. + + Type: + + float + + payment_option + + Debt repayment option [0/1] + + Options: 0=Equal payments (standard amortization),1=Fixed principal declining interest + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + prop_tax_assessed_decline + + Assessed value annual decline [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + prop_tax_cost_assessed_percent + + Percent of pre-financing costs assessed [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 95 if not assigned explicitly or loaded from defaults. + + Type: + + float + + property_tax_rate + + Property tax rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + real_discount_rate + + Real discount rate [%] + + Constraints: MIN=-99 + + Required: True + + Type: + + float + + reserves_interest + + Interest on reserves [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 1.75 if not assigned explicitly or loaded from defaults. + + Type: + + float + + salvage_percentage + + Net pre-tax cash salvage value [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + + state_tax_rate + + State income tax rate [%] + + Required: True + + Type: + + sequence + + system_capacity + + System nameplate capacity [kW] + + Constraints: POSITIVE + + Required: True + + The value of the following variables depends on system_capacity: + + battery_total_cost_lcos + + construction_financing_cost + + cp_battery_nameplate + + cp_system_nameplate + + land_area + + total_installed_cost + + Type: + + float + + system_heat_rate + + System heat rate [MMBTus/MWh] + + Constraints: MIN=0 + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + term_int_rate + + Term financing interest rate [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 8.5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + term_tenor + + Term financing period [years] + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + +SystemCosts Group + +class PySAM.Singleowner.Singleowner.SystemCosts + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + SystemCosts_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + SystemCosts_vals = { var: val, ...} + + add_om_num_types + + Number of O and M types + + Info: battery,fuelcell + + Constraints: INTEGER,MIN=0,MAX=2 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + annual_fuel_usage + + Fuel usage (yr 1) [kWht] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Constraints: MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + annual_fuel_usage_lifetime + + Fuel usage (lifetime) [kWht] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Type: + + sequence + + om_batt_capacity_cost + + Battery capacity-based System Costs amount [$/kWcap] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_fixed_cost + + Battery fixed System Costs annual amount [$/year] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_nameplate + + Battery capacity for System Costs values [kW] + + Info: battery + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_batt_replacement_cost + + Replacement cost 1 [$/kWh] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_batt_variable_cost + + Battery production-based System Costs amount [$/MWh] + + Info: battery + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_capacity + + Capacity-based O&M amount [$/kWcap] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_capacity_escal + + Capacity-based O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fixed + + Fixed O&M annual amount [$/year] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fixed_escal + + Fixed O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuel_cost + + Fuel cost [$/MMBtu] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuel_cost_escal + + Fuel cost escalation [%/year] + + Info: custom_generation,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuelcell_capacity_cost + + Fuel cell capacity-based System Costs amount [$/kWcap] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_fixed_cost + + Fuel cell fixed System Costs annual amount [$/year] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_nameplate + + Fuel cell capacity for System Costs values [kW] + + Info: fuelcell + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_fuelcell_replacement_cost + + Replacement cost 2 [$/kW] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_fuelcell_variable_cost + + Fuel cell production-based System Costs amount [$/MWh] + + Info: fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_1_cost + + Biomass feedstock cost [$/unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_1_cost_escal + + Biomass feedstock cost escalation [%/year] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_1_usage + + Biomass feedstock usage [unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_2_cost + + Coal feedstock cost [$/unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_opt_fuel_2_cost_escal + + Coal feedstock cost escalation [%/year] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_opt_fuel_2_usage + + Coal feedstock usage [unit] + + Info: biomass + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_production + + Production-based O&M amount [$/MWh] + + Info: !battery,!fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production1_values + + Battery production for System Costs values [kWh] + + Info: battery + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production2_values + + Fuel cell production for System Costs values [kWh] + + Info: fuelcell + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_production_escal + + Production-based O&M escalation [%/year] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_replacement_cost_escal + + Replacement cost escalation [%/year] + + Info: battery,fuelcell + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + system_lifetime_recapitalize + + Recapitalization boolean + + INOUT: This variable is both an input and an output to the compute module. + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + system_recapitalization_cost + + Recapitalization cost [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + system_recapitalization_escalation + + Recapitalization escalation (above inflation) [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + system_use_recapitalization + + Recapitalization expenses [0/1] + + Options: 0=None,1=Recapitalize + + INOUT: This variable is both an input and an output to the compute module. + + Constraints: INTEGER,MIN=0 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + total_installed_cost + + Installed cost [$] + + Required: True + + The value of the following variables depends on total_installed_cost: + + battery_total_cost_lcos + + construction_financing_cost + + The value of total_installed_cost depends on the following variables: + + battery_per_kWh + + Type: + + float + +LandLease Group + +class PySAM.Singleowner.Singleowner.LandLease + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + LandLease_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + LandLease_vals = { var: val, ...} + + land_area + + Total land area [acres] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + om_land_lease + + Land lease cost [$/acre] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + om_land_lease_escal + + Land lease cost escalation [%/yr] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +TaxCreditIncentives Group + +class PySAM.Singleowner.Singleowner.TaxCreditIncentives + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + TaxCreditIncentives_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + TaxCreditIncentives_vals = { var: val, ...} + + itc_fed_amount + + Federal amount-based ITC amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_fed_amount_deprbas_fed + + Federal amount-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_amount_deprbas_sta + + Federal amount-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent + + Federal percentage-based ITC percent [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_fed_percent_deprbas_fed + + Federal percentage-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent_deprbas_sta + + Federal percentage-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_fed_percent_maxvalue + + Federal percentage-based ITC maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_amount + + State amount-based ITC amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_amount_deprbas_fed + + State amount-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_amount_deprbas_sta + + State amount-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent + + State percentage-based ITC percent [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + itc_sta_percent_deprbas_fed + + State percentage-based ITC reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent_deprbas_sta + + State percentage-based ITC reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + itc_sta_percent_maxvalue + + State percentage-based ITC maximum Value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_fed_amount + + Federal PTC amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_fed_escal + + Federal PTC escalation [%/year] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_fed_term + + Federal PTC term [years] + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_sta_amount + + State PTC amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + ptc_sta_escal + + State PTC escalation [%/year] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ptc_sta_term + + State PTC term [years] + + Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults. + + Type: + + float + +Depreciation Group + +class PySAM.Singleowner.Singleowner.Depreciation + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Depreciation_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Depreciation_vals = { var: val, ...} + + depr_alloc_custom_percent + + Custom depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_macrs_15_percent + + 15-yr MACRS depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 1.5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_macrs_5_percent + + 5-yr MACRS depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 89 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_sl_15_percent + + 15-yr straight line depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 3 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_sl_20_percent + + 20-yr straight line depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 3 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_sl_39_percent + + 39-yr straight line depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0.5 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_alloc_sl_5_percent + + 5-yr straight line depreciation federal and state allocation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed + + Federal bonus depreciation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_custom + + Federal bonus depreciation custom [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_macrs_15 + + Federal bonus depreciation 15-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_macrs_5 + + Federal bonus depreciation 5-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_sl_15 + + Federal bonus depreciation 15-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_sl_20 + + Federal bonus depreciation 20-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_sl_39 + + Federal bonus depreciation 39-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_fed_sl_5 + + Federal bonus depreciation 5-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta + + State bonus depreciation [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_custom + + State bonus depreciation custom [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_macrs_15 + + State bonus depreciation 15-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_macrs_5 + + State bonus depreciation 5-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_sl_15 + + State bonus depreciation 15-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_sl_20 + + State bonus depreciation 20-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_sl_39 + + State bonus depreciation 39-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_bonus_sta_sl_5 + + State bonus depreciation 5-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_custom_schedule + + Custom depreciation schedule [%] + + Required: True + + Type: + + sequence + + depr_fedbas_method + + Method of federal depreciation reduction + + Options: 0=5yr MACRS,1=Proportional + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_custom + + Federal ITC depreciation custom [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_macrs_15 + + Federal ITC depreciation 15-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_macrs_5 + + Federal ITC depreciation 5-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_sl_15 + + Federal ITC depreciation 15-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_sl_20 + + Federal ITC depreciation 20-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_sl_39 + + Federal ITC depreciation 39-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_fed_sl_5 + + Federal ITC depreciation 5-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_custom + + State ITC depreciation custom [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_macrs_15 + + State ITC depreciation 15-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_macrs_5 + + State ITC depreciation 5-yr MACRS [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_sl_15 + + State ITC depreciation 15-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_sl_20 + + State ITC depreciation 20-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_sl_39 + + State ITC depreciation 39-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_itc_sta_sl_5 + + State ITC depreciation 5-yr straight line [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + depr_stabas_method + + Method of state depreciation reduction + + Options: 0=5yr MACRS,1=Proportional + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +PaymentIncentives Group + +class PySAM.Singleowner.Singleowner.PaymentIncentives + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + PaymentIncentives_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + PaymentIncentives_vals = { var: val, ...} + + cbi_fed_amount + + Federal CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_deprbas_fed + + Federal CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_deprbas_sta + + Federal CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_maxvalue + + Federal CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_tax_fed + + Federal CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_fed_tax_sta + + Federal CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_amount + + Other CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_deprbas_fed + + Other CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_deprbas_sta + + Other CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_maxvalue + + Other CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_tax_fed + + Other CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_oth_tax_sta + + Other CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_amount + + State CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_deprbas_fed + + State CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_deprbas_sta + + State CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_maxvalue + + State CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_tax_fed + + State CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_sta_tax_sta + + State CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_amount + + Utility CBI amount [$/Watt] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_deprbas_fed + + Utility CBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_deprbas_sta + + Utility CBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_maxvalue + + Utility CBI maximum [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_tax_fed + + Utility CBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + cbi_uti_tax_sta + + Utility CBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount + + Federal amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_deprbas_fed + + Federal amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_deprbas_sta + + Federal amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_tax_fed + + Federal amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_amount_tax_sta + + Federal amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent + + Federal percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_deprbas_fed + + Federal percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_deprbas_sta + + Federal percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_maxvalue + + Federal percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_tax_fed + + Federal percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_fed_percent_tax_sta + + Federal percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount + + Other amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_deprbas_fed + + Other amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_deprbas_sta + + Other amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_tax_fed + + Other amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_amount_tax_sta + + Other amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent + + Other percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_deprbas_fed + + Other percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_deprbas_sta + + Other percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_maxvalue + + Other percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_tax_fed + + Other percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_oth_percent_tax_sta + + Other percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount + + State amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_deprbas_fed + + State amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_deprbas_sta + + State amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_tax_fed + + State amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_amount_tax_sta + + State amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent + + State percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_deprbas_fed + + State percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_deprbas_sta + + State percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_maxvalue + + State percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_tax_fed + + State percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_sta_percent_tax_sta + + State percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount + + Utility amount-based IBI amount [$] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_deprbas_fed + + Utility amount-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_deprbas_sta + + Utility amount-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_tax_fed + + Utility amount-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_amount_tax_sta + + Utility amount-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent + + Utility percentage-based IBI percent [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_deprbas_fed + + Utility percentage-based IBI reduces federal depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_deprbas_sta + + Utility percentage-based IBI reduces state depreciation basis [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_maxvalue + + Utility percentage-based IBI maximum value [$] + + Required: False. Automatically set to 1e99 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_tax_fed + + Utility percentage-based IBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ibi_uti_percent_tax_sta + + Utility percentage-based IBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_amount + + Federal PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_fed_escal + + Federal PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_for_ds + + Federal PBI available for debt service [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_tax_fed + + Federal PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_tax_sta + + Federal PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_fed_term + + Federal PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_amount + + Other PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_oth_escal + + Other PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_for_ds + + Other PBI available for debt service [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_tax_fed + + Other PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_tax_sta + + Other PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_oth_term + + Other PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_amount + + State PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_sta_escal + + State PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_for_ds + + State PBI available for debt service [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_tax_fed + + State PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_tax_sta + + State PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_sta_term + + State PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_amount + + Utility PBI amount [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + pbi_uti_escal + + Utility PBI escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_for_ds + + Utility PBI available for debt service [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_tax_fed + + Utility PBI federal taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_tax_sta + + Utility PBI state taxable [0/1] + + Constraints: BOOLEAN + + Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults. + + Type: + + float + + pbi_uti_term + + Utility PBI term [years] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +BatterySystem Group + +class PySAM.Singleowner.Singleowner.BatterySystem + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + BatterySystem_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + BatterySystem_vals = { var: val, ...} + + batt_bank_replacement + + Battery bank replacements per year [number/year] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_computed_bank_capacity + + Battery bank capacity [kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + The value of the following variables depends on batt_computed_bank_capacity: + + battery_total_cost_lcos + + construction_financing_cost + + om_batt_nameplate + + total_installed_cost + + Type: + + float + + batt_meter_position + + Position of battery relative to electric meter + + Type: + + float + + batt_replacement_option + + Enable battery replacement? [0=none,1=capacity based,2=user schedule] + + Constraints: INTEGER,MIN=0,MAX=2 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + batt_replacement_schedule_percent + + Percentage of battery capacity to replace in each year [%] + + Options: length <= analysis_period + + Type: + + sequence + + battery_per_kWh + + Battery cost [$/kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + The value of the following variables depends on battery_per_kWh: + + battery_total_cost_lcos + + construction_financing_cost + + total_installed_cost + + Type: + + float + + en_batt + + Enable battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + en_standalone_batt + + Enable standalone battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + en_wave_batt + + Enable standalone battery storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +ElectricityRates Group + +class PySAM.Singleowner.Singleowner.ElectricityRates + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + ElectricityRates_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + ElectricityRates_vals = { var: val, ...} + + en_electricity_rates + + Enable electricity rates for grid purchase [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + rate_escalation + + Annual electricity rate escalation [%/year] + + Type: + + sequence + + ur_annual_min_charge + + Annual minimum charge [$] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_billing_demand_lookback_percentages + + Billing demand lookback percentages by month and consider actual peak demand [%] + + Info: 12x2 + + Required: Required if ur_enable_billing_demand=1 + + Type: + + sequence[sequence] + + ur_billing_demand_lookback_period + + Billing demand lookback period [mn] + + Constraints: INTEGER,MIN=0,MAX=12 + + Required: Required if ur_enable_billing_demand=1 + + Type: + + float + + ur_billing_demand_minimum + + Minimum billing demand [kW] + + Required: Required if ur_enable_billing_demand=1 + + Type: + + float + + ur_dc_billing_demand_periods + + Billing demand applicability to a given demand charge time of use period + + Required: Required if ur_enable_billing_demand=1 + + Type: + + sequence[sequence] + + ur_dc_enable + + Enable demand charge [0/1] + + Options: 0=disable,1=enable + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_dc_flat_mat + + Demand rates (flat) table [col 0=month, col 1=tier no, col 2=tier peak (kW), col 3=charge ($/kW)] + + Info: nx4 + + Required: Required if ur_dc_enable=1 + + Type: + + sequence[sequence] + + ur_dc_sched_weekday + + Demand charge weekday schedule [Periods defined in ur_dc_tou_mat] + + Info: 12x24 + + Type: + + sequence[sequence] + + ur_dc_sched_weekend + + Demand charge weekend schedule [Periods defined in ur_dc_tou_mat] + + Info: 12x24 + + Type: + + sequence[sequence] + + ur_dc_tou_mat + + Demand rates (TOU) table [col 0=period no, col 1=tier no, col 2=tier peak (kW), col 3=charge ($/kW)] + + Info: nx4 + + Required: Required if ur_dc_enable=1 + + Type: + + sequence[sequence] + + ur_ec_sched_weekday + + Energy charge weekday schedule [Periods defined in ur_ec_tou_mat] + + Info: 12x24 + + Type: + + sequence[sequence] + + ur_ec_sched_weekend + + Energy charge weekend schedule [Periods defined in ur_ec_tou_mat] + + Info: 12x24 + + Type: + + sequence[sequence] + + ur_ec_tou_mat + + Energy rates table [col 0=period no, col 1=tier no, col 2=max usage, col 3=max usage units (0=kWh, 1=kWh/kW, 2=kWh daily, 3=kWh/kW daily), col 4=buy rate ($/kWh), col 5=sell rate ($/kWh)] + + Info: nx6 + + Type: + + sequence[sequence] + + ur_en_ts_buy_rate + + Enable time step buy rates [0/1] + + Options: 0=disable,1=enable + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_en_ts_sell_rate + + Enable time step sell rates [0/1] + + Options: 0=disable,1=enable + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_enable_billing_demand + + Enable billing demand ratchets [0/1] + + Options: 0=disable,1=enable + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_metering_option + + Metering options [0=net energy metering,1=net energy metering with $ credits,2=net billing,3=net billing with carryover to next month,4=buy all - sell all] + + Info: Net metering monthly excess + + Constraints: INTEGER,MIN=0,MAX=4 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_monthly_fixed_charge + + Monthly fixed charge [$] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_monthly_min_charge + + Monthly minimum charge [$] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_nb_apply_credit_current_month + + Apply earned credits to balance before rolling over excess [0/1] + + Options: 0=disable,1=enable + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_nb_credit_expire + + Credit is lost upon end of year [0/1] + + Options: 0=disable,1=enable + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_nm_credit_month + + Month of year end payout (true-up) [mn] + + Constraints: INTEGER,MIN=0,MAX=11 + + Required: False. Automatically set to 11 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_nm_credit_rollover + + Apply net metering true-up credits to future bills [0/1] + + Options: 0=disable,1=enable + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_nm_yearend_sell_rate + + Net metering true-up credit sell rate [$/kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_sell_eq_buy + + Set sell rate equal to buy rate [0/1] + + Info: Optional override + + Constraints: BOOLEAN + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + ur_ts_buy_rate + + Time step buy rates [$/kWh] + + Type: + + sequence + + ur_ts_sell_rate + + Time step sell rates [$/kWh] + + Type: + + sequence + + ur_yearzero_usage_peaks + + Peak usage by month for year zero [kW] + + Info: 12 + + Required: Required if ur_enable_billing_demand=1 + + Type: + + sequence + +SystemOutput Group + +class PySAM.Singleowner.Singleowner.SystemOutput + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + SystemOutput_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + SystemOutput_vals = { var: val, ...} + + annual_energy_pre_curtailment_ac + + Annual Energy AC pre-curtailment (year 1) [kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + degradation + + Annual energy degradation + + Required: Required if system_use_lifetime_output=0 + + Type: + + sequence + + gen + + Net power to or from the grid [kW] + + Required: True + + Type: + + sequence + + gen_purchases + + Electricity from grid to system [kW] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + gen_without_battery + + Electricity to or from the renewable system, without the battery [kW] + + Type: + + sequence + + system_capacity + + System nameplate capacity [kW] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + The value of the following variables depends on system_capacity: + + battery_total_cost_lcos + + construction_financing_cost + + cp_battery_nameplate + + cp_system_nameplate + + land_area + + total_installed_cost + + Type: + + float + + system_pre_curtailment_kwac + + System power before grid curtailment [kW] + + Info: System generation + + Type: + + sequence + +UtilityBill Group + +class PySAM.Singleowner.Singleowner.UtilityBill + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + UtilityBill_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + UtilityBill_vals = { var: val, ...} + + utility_bill_w_sys + + Electricity bill with system [$] + + Type: + + sequence + +Lifetime Group + +class PySAM.Singleowner.Singleowner.Lifetime + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Lifetime_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Lifetime_vals = { var: val, ...} + + inflation_rate + + Inflation rate [%] + + Constraints: MIN=-99 + + Type: + + float + + system_use_lifetime_output + + Lifetime hourly system outputs [0/1] + + Options: 0=hourly first year,1=hourly lifetime + + INOUT: This variable is both an input and an output to the compute module. + + Constraints: INTEGER,MIN=0 + + Required: True + + Type: + + float + +FuelCell Group + +class PySAM.Singleowner.Singleowner.FuelCell + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + FuelCell_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + FuelCell_vals = { var: val, ...} + + annual_fuel_usage_lifetime + + Annual Fuel Usage (lifetime) [kWht] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + en_fuelcell + + Enable fuel cell storage model [0/1] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_annual_energy_discharged + + Fuel cell annual energy discharged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + fuelcell_computed_bank_capacity + + Fuel cell capacity [kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_per_kWh + + Fuel cell cost [$/kWh] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + fuelcell_replacement + + Fuel cell replacements per year [number/year] + + Type: + + sequence + + fuelcell_replacement_option + + Enable fuel cell replacement? [0=none,1=capacity based,2=user schedule] + + Constraints: INTEGER,MIN=0,MAX=2 + + Type: + + float + + fuelcell_replacement_schedule + + Fuel cell replacements per year (user specified) [number/year] + + Type: + + sequence + +CapacityPayments Group + +class PySAM.Singleowner.Singleowner.CapacityPayments + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + CapacityPayments_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + CapacityPayments_vals = { var: val, ...} + + cp_battery_nameplate + + Battery nameplate [MW] + + Constraints: MIN=0 + + Required: Required if cp_capacity_payment_type=0 + + The value of cp_battery_nameplate depends on the following variables: + + cp_system_nameplate + + Type: + + float + + cp_capacity_credit_percent + + Capacity credit (eligible portion of nameplate) [%] + + Required: Required if cp_capacity_payment_type=0 + + Type: + + sequence + + cp_capacity_payment_amount + + Capacity payment amount [$ or $/MW] + + Required: True + + Type: + + sequence + + cp_capacity_payment_esc + + Capacity payment escalation [%/year] + + Required: True + + Type: + + float + + cp_capacity_payment_type + + Capacity payment type + + Options: 0=Energy basis,1=Fixed amount + + Constraints: INTEGER,MIN=0,MAX=1 + + Required: True + + Type: + + float + + cp_system_nameplate + + System nameplate [MW] + + Constraints: MIN=0 + + Required: Required if cp_capacity_payment_type=0 + + The value of the following variables depends on cp_system_nameplate: + + cp_battery_nameplate + + Type: + + float + +GridLimits Group + +class PySAM.Singleowner.Singleowner.GridLimits + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + GridLimits_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + GridLimits_vals = { var: val, ...} + + grid_curtailment_price + + Curtailment price [$/kWh] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + grid_curtailment_price_esc + + Curtailment price escalation [%] + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +LCOS Group + +class PySAM.Singleowner.Singleowner.LCOS + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + LCOS_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + LCOS_vals = { var: val, ...} + + batt_annual_charge_energy + + Battery annual energy charged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_annual_charge_from_system + + Battery annual energy charged from system [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_annual_discharge_energy + + Battery annual energy discharged [kWh] + + INOUT: This variable is both an input and an output to the compute module. + + Type: + + sequence + + batt_capacity_percent + + Battery relative capacity to nameplate [%] + + Type: + + sequence + + batt_salvage_percentage + + Net pre-tax cash battery salvage value [%] + + Constraints: MIN=0,MAX=100 + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + + battery_total_cost_lcos + + Battery total investment cost [$] + + The value of battery_total_cost_lcos depends on the following variables: + + battery_per_kWh + + total_installed_cost + + Type: + + float + + charge_w_sys_ec_ym + + Energy charge with system [$] + + Type: + + sequence[sequence] + + grid_to_batt + + Electricity to grid from battery [kW] + + Type: + + sequence + + monthly_batt_to_grid + + Energy to grid from battery [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_batt + + Energy to battery from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_grid_to_load + + Energy to load from grid [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + monthly_system_to_grid + + Energy to grid from system [kWh] + + Constraints: LENGTH=12 + + Type: + + sequence + + true_up_credits_ym + + Net annual true-up payments [$] + + Type: + + sequence[sequence] + + year1_monthly_ec_charge_gross_with_system + + Energy charge with system before credits [$/mo] + + Constraints: LENGTH=12 + + Type: + + sequence + + year1_monthly_ec_charge_with_system + + Energy charge with system [$] + + Type: + + sequence + + year1_monthly_electricity_to_grid + + Electricity to/from grid [kWh/mo] + + Constraints: LENGTH=12 + + Type: + + sequence + +ChargesByMonth Group + +class PySAM.Singleowner.Singleowner.ChargesByMonth + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + ChargesByMonth_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + ChargesByMonth_vals = { var: val, ...} + + net_billing_credits_ym + + Net billing credit [$] + + Type: + + sequence[sequence] + + nm_dollars_applied_ym + + Net metering credit [$] + + Type: + + sequence[sequence] + +HybridFin Group + +class PySAM.Singleowner.Singleowner.HybridFin + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + HybridFin_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + HybridFin_vals = { var: val, ...} + + cf_hybrid_om_sum + + Hybrid O&M costs [$] + + Type: + + sequence + + is_hybrid + + hybrid configuration [0/1] + + Options: 0=singletech,1=hybrid + + Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults. + + Type: + + float + +Monthly Group + +class PySAM.Singleowner.Singleowner.Monthly + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Monthly_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Monthly_vals = { var: val, ...} + + monthly_energy + + Monthly AC energy in Year 1 [kWh] + + Constraints: LENGTH = 12 + + Type: + + sequence + +HybridCosts Group + +class PySAM.Singleowner.Singleowner.HybridCosts + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + HybridCosts_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + HybridCosts_vals = { var: val, ...} + + degradation + + Annual AC degradation [%] + + Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults. + + Type: + + sequence + + total_installed_cost + + Total installed cost [$] + + Required: True + + The value of the following variables depends on total_installed_cost: + + battery_total_cost_lcos + + construction_financing_cost + + The value of total_installed_cost depends on the following variables: + + battery_per_kWh + + Type: + + float + +Outputs Group + +class PySAM.Singleowner.Singleowner.Outputs + + assign(dict) → None + + Assign attributes from dictionary, overwriting but not removing values. + + Outputs_vals = { var: val, ...} + + export() → dict + + Export attributes into dictionary. + + replace(dict) → None + + Replace attributes from dictionary, unassigning values not present in input dict. + + Outputs_vals = { var: val, ...} + + adjusted_installed_cost + + Initial cost less cash incentives [$] + + Type: + + float + + analysis_period_irr + + IRR at end of analysis period [%] + + Type: + + float + + cash_for_debt_service + + Cash available for debt service (CAFDS) [$] + + Type: + + float + + cbi_fedtax_total + + Federal taxable CBI income [$] + + Type: + + float + + cbi_statax_total + + State taxable CBI income [$] + + Type: + + float + + cbi_total + + Total CBI income [$] + + Type: + + float + + cbi_total_fed + + Federal CBI income [$] + + Type: + + float + + cbi_total_oth + + Other CBI income [$] + + Type: + + float + + cbi_total_sta + + State CBI income [$] + + Type: + + float + + cbi_total_uti + + Utility CBI income [$] + + Type: + + float + + cf_annual_cost_lcos + + Annual storage costs [$] + + Type: + + sequence + + cf_annual_costs + + Annual costs [$] + + Type: + + sequence + + cf_annual_discharge_lcos + + Annual storage discharge [kWh] + + Type: + + sequence + + cf_battery_replacement_cost + + Battery replacement cost [$] + + Type: + + sequence + + cf_battery_replacement_cost_schedule + + Battery replacement cost schedule [$] + + Type: + + sequence + + cf_capacity_payment + + Capacity payment revenue [$] + + Type: + + sequence + + cf_cash_for_ds + + Cash available for debt service (CAFDS) [$] + + Type: + + sequence + + cf_charging_cost_grid + + Annual cost to charge from grid [$] + + Type: + + sequence + + cf_charging_cost_grid_month + + Annual cost to charge from grid (monthly) [$] + + Type: + + sequence + + cf_charging_cost_pv + + Annual cost to charge from system [$] + + Type: + + sequence + + cf_curtailment_value + + Curtailment payment revenue [$] + + Type: + + sequence + + cf_debt_balance + + Debt balance [$] + + Type: + + sequence + + cf_debt_payment_interest + + Debt interest payment [$] + + Type: + + sequence + + cf_debt_payment_principal + + Debt principal payment [$] + + Type: + + sequence + + cf_debt_payment_total + + Debt total payment [$] + + Type: + + sequence + + cf_debt_size + + Size of debt [$] + + Type: + + sequence + + cf_disbursement_debtservice + + Reserves debt service disbursement [$] + + Type: + + sequence + + cf_disbursement_equip1 + + Reserves major equipment 1 disbursement [$] + + Type: + + sequence + + cf_disbursement_equip2 + + Reserves major equipment 2 disbursement [$] + + Type: + + sequence + + cf_disbursement_equip3 + + Reserves major equipment 3 disbursement [$] + + Type: + + sequence + + cf_disbursement_om + + Reserves working capital disbursement [$] + + Type: + + sequence + + cf_disbursement_receivables + + Reserves receivables disbursement [$] + + Type: + + sequence + + cf_ebitda + + EBITDA [$] + + Type: + + sequence + + cf_effective_tax_frac + + Effective income tax rate [frac] + + Type: + + sequence + + cf_energy_curtailed + + Electricity curtailed [kWh] + + Type: + + sequence + + cf_energy_net + + Electricity to grid net [kWh] + + Type: + + sequence + + cf_energy_purchases + + Electricity from grid [kWh] + + Type: + + sequence + + cf_energy_sales + + Electricity to grid [kWh] + + Type: + + sequence + + cf_energy_sales_apr + + Energy produced by year in April [kWh] + + Type: + + sequence + + cf_energy_sales_aug + + Energy produced by year in August [kWh] + + Type: + + sequence + + cf_energy_sales_dec + + Energy produced by year in December [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch1 + + Energy produced by year in TOD period 1 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch2 + + Energy produced by year in TOD period 2 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch3 + + Energy produced by year in TOD period 3 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch4 + + Energy produced by year in TOD period 4 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch5 + + Energy produced by year in TOD period 5 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch6 + + Energy produced by year in TOD period 6 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch7 + + Energy produced by year in TOD period 7 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch8 + + Energy produced by year in TOD period 8 [kWh] + + Type: + + sequence + + cf_energy_sales_dispatch9 + + Energy produced by year in TOD period 9 [kWh] + + Type: + + sequence + + cf_energy_sales_feb + + Energy produced by year in February [kWh] + + Type: + + sequence + + cf_energy_sales_jan + + Energy produced by year in January [kWh] + + Type: + + sequence + + cf_energy_sales_jul + + Energy produced by year in July [kWh] + + Type: + + sequence + + cf_energy_sales_jun + + Energy produced by year in June [kWh] + + Type: + + sequence + + cf_energy_sales_mar + + Energy produced by year in March [kWh] + + Type: + + sequence + + cf_energy_sales_may + + Energy produced by year in May [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD1 + + Energy produced in Year 1 by month for TOD period 1 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD2 + + Energy produced in Year 1 by month for TOD period 2 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD3 + + Energy produced in Year 1 by month for TOD period 3 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD4 + + Energy produced in Year 1 by month for TOD period 4 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD5 + + Energy produced in Year 1 by month for TOD period 5 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD6 + + Energy produced in Year 1 by month for TOD period 6 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD7 + + Energy produced in Year 1 by month for TOD period 7 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD8 + + Energy produced in Year 1 by month for TOD period 8 [kWh] + + Type: + + sequence + + cf_energy_sales_monthly_firstyear_TOD9 + + Energy produced in Year 1 by month for TOD period 9 [kWh] + + Type: + + sequence + + cf_energy_sales_nov + + Energy produced by year in November [kWh] + + Type: + + sequence + + cf_energy_sales_oct + + Energy produced by year in October [kWh] + + Type: + + sequence + + cf_energy_sales_sep + + Energy produced by year in September [kWh] + + Type: + + sequence + + cf_energy_value + + PPA revenue [$] + + Type: + + sequence + + cf_energy_without_battery + + Electricity generated without storage [kWh] + + Type: + + sequence + + cf_feddepr_custom + + Federal depreciation from custom [$] + + Type: + + sequence + + cf_feddepr_macrs_15 + + Federal depreciation from 15-yr MACRS [$] + + Type: + + sequence + + cf_feddepr_macrs_5 + + Federal depreciation from 5-yr MACRS [$] + + Type: + + sequence + + cf_feddepr_me1 + + Federal depreciation from major equipment 1 [$] + + Type: + + sequence + + cf_feddepr_me2 + + Federal depreciation from major equipment 2 [$] + + Type: + + sequence + + cf_feddepr_me3 + + Federal depreciation from major equipment 3 [$] + + Type: + + sequence + + cf_feddepr_sl_15 + + Federal depreciation from 15-yr straight line [$] + + Type: + + sequence + + cf_feddepr_sl_20 + + Federal depreciation from 20-yr straight line [$] + + Type: + + sequence + + cf_feddepr_sl_39 + + Federal depreciation from 39-yr straight line [$] + + Type: + + sequence + + cf_feddepr_sl_5 + + Federal depreciation from 5-yr straight line [$] + + Type: + + sequence + + cf_feddepr_total + + Total federal tax depreciation [$] + + Type: + + sequence + + cf_federal_tax_frac + + Federal income tax rate [frac] + + Type: + + sequence + + cf_fedtax + + Federal tax benefit (liability) [$] + + Type: + + sequence + + cf_fedtax_income_prior_incentives + + Federal taxable income without incentives [$] + + Type: + + sequence + + cf_fedtax_income_with_incentives + + Federal taxable income [$] + + Type: + + sequence + + cf_fedtax_taxable_incentives + + Federal taxable incentives [$] + + Type: + + sequence + + cf_fuelcell_replacement_cost + + Fuel cell replacement cost [$] + + Type: + + sequence + + cf_fuelcell_replacement_cost_schedule + + Fuel cell replacement cost schedule [$/kW] + + Type: + + sequence + + cf_funding_debtservice + + Reserves debt service funding [$] + + Type: + + sequence + + cf_funding_equip1 + + Reserves major equipment 1 funding [$] + + Type: + + sequence + + cf_funding_equip2 + + Reserves major equipment 2 funding [$] + + Type: + + sequence + + cf_funding_equip3 + + Reserves major equipment 3 funding [$] + + Type: + + sequence + + cf_funding_om + + Reserves working capital funding [$] + + Type: + + sequence + + cf_funding_receivables + + Reserves receivables funding [$] + + Type: + + sequence + + cf_insurance_expense + + Insurance expense [$] + + Type: + + sequence + + cf_itc_fed + + Federal ITC total income [$] + + Type: + + sequence + + cf_itc_fed_amount + + Federal ITC amount income [$] + + Type: + + sequence + + cf_itc_fed_percent_amount + + Federal ITC percent income [$] + + Type: + + sequence + + cf_itc_sta + + State ITC total income [$] + + Type: + + sequence + + cf_itc_sta_amount + + State ITC amount income [$] + + Type: + + sequence + + cf_itc_sta_percent_amount + + State ITC percent income [$] + + Type: + + sequence + + cf_itc_total + + Total ITC income [$] + + Type: + + sequence + + cf_land_lease_expense + + Land lease expense [$] + + Type: + + sequence + + cf_length + + Number of periods in cashflow + + Type: + + float + + cf_net_salvage_value + + Salvage value [$] + + Type: + + sequence + + cf_om_batt_capacity_expense + + Annual cost for battery capacity based maintenance [$] + + Type: + + sequence + + cf_om_batt_fixed_expense + + Annual fixed cost for battery maintenance [$] + + Type: + + sequence + + cf_om_capacity1_expense + + O&M battery capacity-based expense [$] + + Type: + + sequence + + cf_om_capacity2_expense + + O&M fuel cell capacity-based expense [$] + + Type: + + sequence + + cf_om_capacity_expense + + O&M capacity-based expense [$] + + Type: + + sequence + + cf_om_fixed1_expense + + O&M battery fixed expense [$] + + Type: + + sequence + + cf_om_fixed2_expense + + O&M fuel cell fixed expense [$] + + Type: + + sequence + + cf_om_fixed_expense + + O&M fixed expense [$] + + Type: + + sequence + + cf_om_fuel_expense + + Fuel expense [$] + + Type: + + sequence + + cf_om_opt_fuel_1_expense + + Feedstock biomass expense [$] + + Type: + + sequence + + cf_om_opt_fuel_2_expense + + Feedstock coal expense [$] + + Type: + + sequence + + cf_om_production1_expense + + O&M battery production-based expense [$] + + Type: + + sequence + + cf_om_production2_expense + + O&M fuel cell production-based expense [$] + + Type: + + sequence + + cf_om_production_expense + + O&M production-based expense [$] + + Type: + + sequence + + cf_operating_expenses + + Total operating expenses [$] + + Type: + + sequence + + cf_pbi_fedtax_total + + Federal taxable PBI income [$] + + Type: + + sequence + + cf_pbi_statax_total + + State taxable PBI income [$] + + Type: + + sequence + + cf_pbi_total + + Total PBI income [$] + + Type: + + sequence + + cf_pbi_total_fed + + Federal PBI income [$] + + Type: + + sequence + + cf_pbi_total_oth + + Other PBI income [$] + + Type: + + sequence + + cf_pbi_total_sta + + State PBI income [$] + + Type: + + sequence + + cf_pbi_total_uti + + Utility PBI income [$] + + Type: + + sequence + + cf_ppa_price + + PPA price [cents/kWh] + + Type: + + sequence + + cf_pretax_cashflow + + Total pre-tax cash flow [$] + + Type: + + sequence + + cf_pretax_dscr + + DSCR (pre-tax) + + Type: + + sequence + + cf_project_dsra + + Reserve (increase)/decrease debt service [$] + + Type: + + sequence + + cf_project_financing_activities + + Cash flow from financing activities [$] + + Type: + + sequence + + cf_project_investing_activities + + Cash flow from investing activities [$] + + Type: + + sequence + + cf_project_me1cs + + Reserve capital spending major equipment 1 [$] + + Type: + + sequence + + cf_project_me1ra + + Reserve (increase)/decrease major equipment 1 [$] + + Type: + + sequence + + cf_project_me2cs + + Reserve capital spending major equipment 2 [$] + + Type: + + sequence + + cf_project_me2ra + + Reserve (increase)/decrease major equipment 2 [$] + + Type: + + sequence + + cf_project_me3cs + + Reserve capital spending major equipment 3 [$] + + Type: + + sequence + + cf_project_me3ra + + Reserve (increase)/decrease major equipment 3 [$] + + Type: + + sequence + + cf_project_mecs + + Reserve capital spending major equipment total [$] + + Type: + + sequence + + cf_project_operating_activities + + Cash flow from operating activities [$] + + Type: + + sequence + + cf_project_ra + + Reserve (increase)/decrease total reserve account [$] + + Type: + + sequence + + cf_project_receivablesra + + Reserve (increase)/decrease receivables [$] + + Type: + + sequence + + cf_project_return_aftertax + + Total after-tax returns [$] + + Type: + + sequence + + cf_project_return_aftertax_cash + + Total after-tax cash returns [$] + + Type: + + sequence + + cf_project_return_aftertax_irr + + After-tax cumulative IRR [%] + + Type: + + sequence + + cf_project_return_aftertax_max_irr + + After-tax project maximum IRR [%] + + Type: + + sequence + + cf_project_return_aftertax_npv + + After-tax cumulative NPV [$] + + Type: + + sequence + + cf_project_return_pretax + + Total pre-tax returns [$] + + Type: + + sequence + + cf_project_return_pretax_irr + + Pre-tax cumulative IRR [%] + + Type: + + sequence + + cf_project_return_pretax_npv + + Pre-tax cumulative NPV [$] + + Type: + + sequence + + cf_project_wcra + + Reserve (increase)/decrease working capital [$] + + Type: + + sequence + + cf_property_tax_assessed_value + + Property tax net assessed value [$] + + Type: + + sequence + + cf_property_tax_expense + + Property tax expense [$] + + Type: + + sequence + + cf_ptc_fed + + Federal PTC income [$] + + Type: + + sequence + + cf_ptc_sta + + State PTC income [$] + + Type: + + sequence + + cf_pv_cash_for_ds + + Present value of CAFDS [$] + + Type: + + sequence + + cf_pv_interest_factor + + Present value interest factor for CAFDS + + Type: + + sequence + + cf_recapitalization + + Recapitalization operating expense [$] + + Type: + + sequence + + cf_reserve_debtservice + + Reserves debt service balance [$] + + Type: + + sequence + + cf_reserve_equip1 + + Reserves major equipment 1 balance [$] + + Type: + + sequence + + cf_reserve_equip2 + + Reserves major equipment 2 balance [$] + + Type: + + sequence + + cf_reserve_equip3 + + Reserves major equipment 3 balance [$] + + Type: + + sequence + + cf_reserve_interest + + Interest earned on reserves [$] + + Type: + + sequence + + cf_reserve_om + + Reserves working capital balance [$] + + Type: + + sequence + + cf_reserve_receivables + + Reserves receivables balance [$] + + Type: + + sequence + + cf_reserve_total + + Reserves total reserves balance [$] + + Type: + + sequence + + cf_revenue_apr + + PPA revenue by year for April [$] + + Type: + + sequence + + cf_revenue_aug + + PPA revenue by year for August [$] + + Type: + + sequence + + cf_revenue_dec + + PPA revenue by year for December [$] + + Type: + + sequence + + cf_revenue_dispatch1 + + PPA revenue by year for TOD period 1 [$] + + Type: + + sequence + + cf_revenue_dispatch2 + + PPA revenue by year for TOD period 2 [$] + + Type: + + sequence + + cf_revenue_dispatch3 + + PPA revenue by year for TOD period 3 [$] + + Type: + + sequence + + cf_revenue_dispatch4 + + PPA revenue by year for TOD period 4 [$] + + Type: + + sequence + + cf_revenue_dispatch5 + + PPA revenue by year for TOD period 5 [$] + + Type: + + sequence + + cf_revenue_dispatch6 + + PPA revenue by year for TOD period 6 [$] + + Type: + + sequence + + cf_revenue_dispatch7 + + PPA revenue by year for TOD period 7 [$] + + Type: + + sequence + + cf_revenue_dispatch8 + + PPA revenue by year for TOD period 8 [$] + + Type: + + sequence + + cf_revenue_dispatch9 + + PPA revenue by year for TOD period 9 [$] + + Type: + + sequence + + cf_revenue_feb + + PPA revenue by year for February [$] + + Type: + + sequence + + cf_revenue_jan + + PPA revenue by year for January [$] + + Type: + + sequence + + cf_revenue_jul + + PPA revenue by year for July [$] + + Type: + + sequence + + cf_revenue_jun + + PPA revenue by year for June [$] + + Type: + + sequence + + cf_revenue_mar + + PPA revenue by year for March [$] + + Type: + + sequence + + cf_revenue_may + + PPA revenue by year for May [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD1 + + PPA revenue in Year 1 by month for TOD period 1 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD2 + + PPA revenue in Year 1 by month for TOD period 2 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD3 + + PPA revenue in Year 1 by month for TOD period 3 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD4 + + PPA revenue in Year 1 by month for TOD period 4 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD5 + + PPA revenue in Year 1 by month for TOD period 5 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD6 + + PPA revenue in Year 1 by month for TOD period 6 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD7 + + PPA revenue in Year 1 by month for TOD period 7 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD8 + + PPA revenue in Year 1 by month for TOD period 8 [$] + + Type: + + sequence + + cf_revenue_monthly_firstyear_TOD9 + + PPA revenue in Year 1 by month for TOD period 9 [$] + + Type: + + sequence + + cf_revenue_nov + + PPA revenue by year for November [$] + + Type: + + sequence + + cf_revenue_oct + + PPA revenue by year for October [$] + + Type: + + sequence + + cf_revenue_sep + + PPA revenue by year for September [$] + + Type: + + sequence + + cf_salvage_cost_lcos + + Annual battery salvage value costs [$] + + Type: + + sequence + + cf_stadepr_custom + + State depreciation from custom [$] + + Type: + + sequence + + cf_stadepr_macrs_15 + + State depreciation from 15-yr MACRS [$] + + Type: + + sequence + + cf_stadepr_macrs_5 + + State depreciation from 5-yr MACRS [$] + + Type: + + sequence + + cf_stadepr_me1 + + State depreciation from major equipment 1 [$] + + Type: + + sequence + + cf_stadepr_me2 + + State depreciation from major equipment 2 [$] + + Type: + + sequence + + cf_stadepr_me3 + + State depreciation from major equipment 3 [$] + + Type: + + sequence + + cf_stadepr_sl_15 + + State depreciation from 15-yr straight line [$] + + Type: + + sequence + + cf_stadepr_sl_20 + + State depreciation from 20-yr straight line [$] + + Type: + + sequence + + cf_stadepr_sl_39 + + State depreciation from 39-yr straight line [$] + + Type: + + sequence + + cf_stadepr_sl_5 + + State depreciation from 5-yr straight line [$] + + Type: + + sequence + + cf_stadepr_total + + Total state tax depreciation [$] + + Type: + + sequence + + cf_statax + + State tax benefit (liability) [$] + + Type: + + sequence + + cf_statax_income_prior_incentives + + State taxable income without incentives [$] + + Type: + + sequence + + cf_statax_income_with_incentives + + State taxable income [$] + + Type: + + sequence + + cf_statax_taxable_incentives + + State taxable incentives [$] + + Type: + + sequence + + cf_state_tax_frac + + State income tax rate [frac] + + Type: + + sequence + + cf_thermal_value + + Thermal revenue [$] + + Type: + + sequence + + cf_total_revenue + + Total revenue [$] + + Type: + + sequence + + cf_util_escal_rate + + Utility escalation rate + + Type: + + sequence + + cf_utility_bill + + Electricity purchase [$] + + Type: + + sequence + + cost_debt_upfront + + Debt up-front fee [$] + + Type: + + float + + cost_financing + + Total financing cost [$] + + Type: + + float + + cost_installed + + Net capital cost [$] + + Type: + + float + + cost_installedperwatt + + Net capital cost per watt [$/W] + + Type: + + float + + cost_prefinancing + + Total installed cost [$] + + Type: + + float + + debt_fraction + + Debt percent [%] + + Type: + + float + + depr_alloc_custom + + Custom straight line depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_macrs_15 + + 15-yr MACRS depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_macrs_5 + + 5-yr MACRS depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_none + + Non-depreciable federal and state allocation [$] + + Type: + + float + + depr_alloc_none_percent + + Non-depreciable federal and state allocation [%] + + Type: + + float + + depr_alloc_sl_15 + + 15-yr straight line depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_sl_20 + + 20-yr straight line depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_sl_39 + + 39-yr straight line depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_sl_5 + + 5-yr straight line depreciation federal and state allocation [$] + + Type: + + float + + depr_alloc_total + + Total depreciation federal and state allocation [$] + + Type: + + float + + depr_fedbas_after_itc_custom + + Custom straight line federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_macrs_15 + + 15-yr MACRS federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_macrs_5 + + 5-yr MACRS federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_sl_15 + + 15-yr straight line federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_sl_20 + + 20-yr straight line federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_sl_39 + + 39-yr straight line federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_sl_5 + + 5-yr straight line federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_after_itc_total + + Total federal depreciation basis after ITC reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_custom + + Custom straight line federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_macrs_15 + + 15-yr MACRS federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_macrs_5 + + 5-yr MACRS federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_sl_15 + + 15-yr straight line federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_sl_20 + + 20-yr straight line federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_sl_39 + + 39-yr straight line federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_sl_5 + + 5-yr straight line federal CBI reduction [$] + + Type: + + float + + depr_fedbas_cbi_reduc_total + + Total federal CBI reduction [$] + + Type: + + float + + depr_fedbas_custom + + Custom straight line federal depreciation basis [$] + + Type: + + float + + depr_fedbas_first_year_bonus_custom + + Custom straight line federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_macrs_15 + + 15-yr MACRS federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_macrs_5 + + 5-yr MACRS federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_sl_15 + + 15-yr straight line federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_sl_20 + + 20-yr straight line federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_sl_39 + + 39-yr straight line federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_sl_5 + + 5-yr straight line federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_first_year_bonus_total + + Total federal first year bonus depreciation [$] + + Type: + + float + + depr_fedbas_fixed_amount_custom + + Custom straight line depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_macrs_15 + + 15-yr MACRS depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_macrs_5 + + 5-yr MACRS depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_sl_15 + + 15-yr straight line depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_sl_20 + + 20-yr straight line depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_sl_39 + + 39-yr straight line depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_sl_5 + + 5-yr straight line depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_fixed_amount_total + + Total depreciation ITC basis from federal fixed amount [$] + + Type: + + float + + depr_fedbas_ibi_reduc_custom + + Custom straight line federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_macrs_15 + + 15-yr MACRS federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_macrs_5 + + 5-yr MACRS federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_sl_15 + + 15-yr straight line federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_sl_20 + + 20-yr straight line federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_sl_39 + + 39-yr straight line federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_sl_5 + + 5-yr straight line federal IBI reduction [$] + + Type: + + float + + depr_fedbas_ibi_reduc_total + + Total federal IBI reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_custom + + Custom straight line federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_macrs_15 + + 15-yr MACRS federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_macrs_5 + + 5-yr MACRS federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_sl_15 + + 15-yr straight line federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_sl_20 + + 20-yr straight line federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_sl_39 + + 39-yr straight line federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_sl_5 + + 5-yr straight line federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_fed_reduction_total + + Total federal basis federal ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_custom + + Custom straight line federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_macrs_15 + + 15-yr MACRS federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_macrs_5 + + 5-yr MACRS federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_sl_15 + + 15-yr straight line federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_sl_20 + + 20-yr straight line federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_sl_39 + + 39-yr straight line federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_sl_5 + + 5-yr straight line federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_itc_sta_reduction_total + + Total federal basis state ITC reduction [$] + + Type: + + float + + depr_fedbas_macrs_15 + + 15-yr MACRS federal depreciation basis [$] + + Type: + + float + + depr_fedbas_macrs_5 + + 5-yr MACRS federal depreciation basis [$] + + Type: + + float + + depr_fedbas_percent_amount_custom + + Custom straight line depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_macrs_15 + + 15-yr MACRS depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_macrs_5 + + 5-yr MACRS depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_sl_15 + + 15-yr straight line depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_sl_20 + + 20-yr straight line depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_sl_39 + + 39-yr straight line depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_sl_5 + + 5-yr straight line depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_amount_total + + Total depreciation ITC basis from federal percentage [$] + + Type: + + float + + depr_fedbas_percent_custom + + Custom straight line federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_macrs_15 + + 15-yr MACRS federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_macrs_5 + + 5-yr MACRS federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_qual_custom + + Custom straight line federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_macrs_15 + + 15-yr MACRS federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_macrs_5 + + 5-yr MACRS federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_sl_15 + + 15-yr straight line federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_sl_20 + + 20-yr straight line federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_sl_39 + + 39-yr straight line federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_sl_5 + + 5-yr straight line federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_qual_total + + Total federal percent of qualifying costs [%] + + Type: + + float + + depr_fedbas_percent_sl_15 + + 15-yr straight line federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_sl_20 + + 20-yr straight line federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_sl_39 + + 39-yr straight line federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_sl_5 + + 5-yr straight line federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_percent_total + + Total federal percent of total depreciable basis [%] + + Type: + + float + + depr_fedbas_prior_itc_custom + + Custom straight line federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_macrs_15 + + 15-yr MACRS federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_macrs_5 + + 5-yr MACRS federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_sl_15 + + 15-yr straight line federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_sl_20 + + 20-yr straight line federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_sl_39 + + 39-yr straight line federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_sl_5 + + 5-yr straight line federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_prior_itc_total + + Total federal depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_fedbas_sl_15 + + 15-yr straight line federal depreciation basis [$] + + Type: + + float + + depr_fedbas_sl_20 + + 20-yr straight line federal depreciation basis [$] + + Type: + + float + + depr_fedbas_sl_39 + + 39-yr straight line federal depreciation basis [$] + + Type: + + float + + depr_fedbas_sl_5 + + 5-yr straight line federal depreciation basis [$] + + Type: + + float + + depr_fedbas_total + + Total federal depreciation basis [$] + + Type: + + float + + depr_stabas_after_itc_custom + + Custom straight line state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_macrs_15 + + 15-yr MACRS state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_macrs_5 + + 5-yr MACRS state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_sl_15 + + 15-yr straight line state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_sl_20 + + 20-yr straight line state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_sl_39 + + 39-yr straight line state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_sl_5 + + 5-yr straight line state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_after_itc_total + + Total state depreciation basis after ITC reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_custom + + Custom straight line state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_macrs_15 + + 15-yr MACRS state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_macrs_5 + + 5-yr MACRS state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_sl_15 + + 15-yr straight line state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_sl_20 + + 20-yr straight line state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_sl_39 + + 39-yr straight line state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_sl_5 + + 5-yr straight line state CBI reduction [$] + + Type: + + float + + depr_stabas_cbi_reduc_total + + Total state CBI reduction [$] + + Type: + + float + + depr_stabas_custom + + Custom straight line state depreciation basis [$] + + Type: + + float + + depr_stabas_first_year_bonus_custom + + Custom straight line state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_macrs_15 + + 15-yr MACRS state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_macrs_5 + + 5-yr MACRS state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_sl_15 + + 15-yr straight line state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_sl_20 + + 20-yr straight line state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_sl_39 + + 39-yr straight line state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_sl_5 + + 5-yr straight line state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_first_year_bonus_total + + Total state first year bonus depreciation [$] + + Type: + + float + + depr_stabas_fixed_amount_custom + + Custom straight line depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_macrs_15 + + 15-yr MACRS depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_macrs_5 + + 5-yr MACRS depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_sl_15 + + 15-yr straight line depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_sl_20 + + 20-yr straight line depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_sl_39 + + 39-yr straight line depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_sl_5 + + 5-yr straight line depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_fixed_amount_total + + Total depreciation ITC basis from state fixed amount [$] + + Type: + + float + + depr_stabas_ibi_reduc_custom + + Custom straight line state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_macrs_15 + + 15-yr MACRS state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_macrs_5 + + 5-yr MACRS state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_sl_15 + + 15-yr straight line state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_sl_20 + + 20-yr straight line state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_sl_39 + + 39-yr straight line state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_sl_5 + + 5-yr straight line state IBI reduction [$] + + Type: + + float + + depr_stabas_ibi_reduc_total + + Total state IBI reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_custom + + Custom straight line state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_macrs_15 + + 15-yr MACRS state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_macrs_5 + + 5-yr MACRS state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_sl_15 + + 15-yr straight line state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_sl_20 + + 20-yr straight line state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_sl_39 + + 39-yr straight line state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_sl_5 + + 5-yr straight line state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_fed_reduction_total + + Total state basis federal ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_custom + + Custom straight line state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_macrs_15 + + 15-yr MACRS state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_macrs_5 + + 5-yr MACRS state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_sl_15 + + 15-yr straight line state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_sl_20 + + 20-yr straight line state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_sl_39 + + 39-yr straight line state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_sl_5 + + 5-yr straight line state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_itc_sta_reduction_total + + Total state basis state ITC reduction [$] + + Type: + + float + + depr_stabas_macrs_15 + + 15-yr MACRS state depreciation basis [$] + + Type: + + float + + depr_stabas_macrs_5 + + 5-yr MACRS state depreciation basis [$] + + Type: + + float + + depr_stabas_percent_amount_custom + + Custom straight line depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_macrs_15 + + 15-yr MACRS depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_macrs_5 + + 5-yr MACRS depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_sl_15 + + 15-yr straight line depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_sl_20 + + 20-yr straight line depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_sl_39 + + 39-yr straight line depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_sl_5 + + 5-yr straight line depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_amount_total + + Total depreciation ITC basis from state percentage [$] + + Type: + + float + + depr_stabas_percent_custom + + Custom straight line state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_macrs_15 + + 15-yr MACRS state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_macrs_5 + + 5-yr MACRS state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_qual_custom + + Custom straight line state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_macrs_15 + + 15-yr MACRS state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_macrs_5 + + 5-yr MACRS state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_sl_15 + + 15-yr straight line state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_sl_20 + + 20-yr straight line state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_sl_39 + + 39-yr straight line state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_sl_5 + + 5-yr straight line state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_qual_total + + Total state percent of qualifying costs [%] + + Type: + + float + + depr_stabas_percent_sl_15 + + 15-yr straight line state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_sl_20 + + 20-yr straight line state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_sl_39 + + 39-yr straight line state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_sl_5 + + 5-yr straight line state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_percent_total + + Total state percent of total depreciable basis [%] + + Type: + + float + + depr_stabas_prior_itc_custom + + Custom straight line state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_macrs_15 + + 15-yr MACRS state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_macrs_5 + + 5-yr MACRS state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_sl_15 + + 15-yr straight line state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_sl_20 + + 20-yr straight line state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_sl_39 + + 39-yr straight line state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_sl_5 + + 5-yr straight line state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_prior_itc_total + + Total state depreciation basis prior ITC reduction [$] + + Type: + + float + + depr_stabas_sl_15 + + 15-yr straight line state depreciation basis [$] + + Type: + + float + + depr_stabas_sl_20 + + 20-yr straight line state depreciation basis [$] + + Type: + + float + + depr_stabas_sl_39 + + 39-yr straight line state depreciation basis [$] + + Type: + + float + + depr_stabas_sl_5 + + 5-yr straight line state depreciation basis [$] + + Type: + + float + + depr_stabas_total + + Total state depreciation basis [$] + + Type: + + float + + effective_tax_rate + + Effective tax rate [%] + + Type: + + float + + firstyear_energy_dispatch1 + + Energy produced in Year 1 TOD period 1 [kWh] + + Type: + + float + + firstyear_energy_dispatch2 + + Energy produced in Year 1 TOD period 2 [kWh] + + Type: + + float + + firstyear_energy_dispatch3 + + Energy produced in Year 1 TOD period 3 [kWh] + + Type: + + float + + firstyear_energy_dispatch4 + + Energy produced in Year 1 TOD period 4 [kWh] + + Type: + + float + + firstyear_energy_dispatch5 + + Energy produced in Year 1 TOD period 5 [kWh] + + Type: + + float + + firstyear_energy_dispatch6 + + Energy produced in Year 1 TOD period 6 [kWh] + + Type: + + float + + firstyear_energy_dispatch7 + + Energy produced in Year 1 TOD period 7 [kWh] + + Type: + + float + + firstyear_energy_dispatch8 + + Energy produced in Year 1 TOD period 8 [kWh] + + Type: + + float + + firstyear_energy_dispatch9 + + Energy produced in Year 1 TOD period 9 [kWh] + + Type: + + float + + firstyear_energy_price1 + + Power price in Year 1 TOD period 1 [cents/kWh] + + Type: + + float + + firstyear_energy_price2 + + Power price in Year 1 TOD period 2 [cents/kWh] + + Type: + + float + + firstyear_energy_price3 + + Power price in Year 1 TOD period 3 [cents/kWh] + + Type: + + float + + firstyear_energy_price4 + + Power price in Year 1 TOD period 4 [cents/kWh] + + Type: + + float + + firstyear_energy_price5 + + Power price in Year 1 TOD period 5 [cents/kWh] + + Type: + + float + + firstyear_energy_price6 + + Power price in Year 1 TOD period 6 [cents/kWh] + + Type: + + float + + firstyear_energy_price7 + + Power price in Year 1 TOD period 7 [cents/kWh] + + Type: + + float + + firstyear_energy_price8 + + Power price in Year 1 TOD period 8 [cents/kWh] + + Type: + + float + + firstyear_energy_price9 + + Power price in Year 1 TOD period 9 [cents/kWh] + + Type: + + float + + firstyear_revenue_dispatch1 + + PPA revenue in Year 1 TOD period 1 [$] + + Type: + + float + + firstyear_revenue_dispatch2 + + PPA revenue in Year 1 TOD period 2 [$] + + Type: + + float + + firstyear_revenue_dispatch3 + + PPA revenue in Year 1 TOD period 3 [$] + + Type: + + float + + firstyear_revenue_dispatch4 + + PPA revenue in Year 1 TOD period 4 [$] + + Type: + + float + + firstyear_revenue_dispatch5 + + PPA revenue in Year 1 TOD period 5 [$] + + Type: + + float + + firstyear_revenue_dispatch6 + + PPA revenue in Year 1 TOD period 6 [$] + + Type: + + float + + firstyear_revenue_dispatch7 + + PPA revenue in Year 1 TOD period 7 [$] + + Type: + + float + + firstyear_revenue_dispatch8 + + PPA revenue in Year 1 TOD period 8 [$] + + Type: + + float + + firstyear_revenue_dispatch9 + + PPA revenue in Year 1 TOD period 9 [$] + + Type: + + float + + flip_actual_irr + + IRR in target year [%] + + Type: + + float + + flip_actual_year + + Year target IRR was achieved [year] + + Type: + + float + + flip_target_irr + + IRR target [%] + + Type: + + float + + flip_target_year + + Target year to meet IRR + + Type: + + float + + ibi_fedtax_total + + Federal taxable IBI income [$] + + Type: + + float + + ibi_statax_total + + State taxable IBI income [$] + + Type: + + float + + ibi_total + + Total IBI income [$] + + Type: + + float + + ibi_total_fed + + Federal IBI income [$] + + Type: + + float + + ibi_total_oth + + Other IBI income [$] + + Type: + + float + + ibi_total_sta + + State IBI income [$] + + Type: + + float + + ibi_total_uti + + Utility IBI income [$] + + Type: + + float + + issuance_of_equity + + Issuance of equity [$] + + Type: + + float + + itc_disallow_fed_fixed_custom + + Custom straight line depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_macrs_15 + + 15-yr MACRS depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_macrs_5 + + 5-yr MACRS depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_sl_15 + + 15-yr straight line depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_sl_20 + + 20-yr straight line depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_sl_39 + + 39-yr straight line depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_sl_5 + + 5-yr straight line depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_fixed_total + + Total depreciation ITC basis disallowance from federal fixed amount [$] + + Type: + + float + + itc_disallow_fed_percent_custom + + Custom straight line depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_macrs_15 + + 15-yr MACRS depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_macrs_5 + + 5-yr MACRS depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_sl_15 + + 15-yr straight line depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_sl_20 + + 20-yr straight line depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_sl_39 + + 39-yr straight line depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_sl_5 + + 5-yr straight line depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_fed_percent_total + + Total depreciation ITC basis disallowance from federal percentage [$] + + Type: + + float + + itc_disallow_sta_fixed_custom + + Custom straight line depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_macrs_15 + + 15-yr MACRS depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_macrs_5 + + 5-yr MACRS depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_sl_15 + + 15-yr straight line depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_sl_20 + + 20-yr straight line depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_sl_39 + + 39-yr straight line depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_sl_5 + + 5-yr straight line depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_fixed_total + + Total depreciation ITC basis disallowance from state fixed amount [$] + + Type: + + float + + itc_disallow_sta_percent_custom + + Custom straight line depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_macrs_15 + + 15-yr MACRS depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_macrs_5 + + 5-yr MACRS depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_sl_15 + + 15-yr straight line depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_sl_20 + + 20-yr straight line depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_sl_39 + + 39-yr straight line depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_sl_5 + + 5-yr straight line depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_disallow_sta_percent_total + + Total depreciation ITC basis disallowance from state percentage [$] + + Type: + + float + + itc_fed_fixed_total + + Federal ITC fixed total [$] + + Type: + + float + + itc_fed_percent_total + + Federal ITC percent total [$] + + Type: + + float + + itc_fed_qual_custom + + Custom straight line depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_macrs_15 + + 15-yr MACRS depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_macrs_5 + + 5-yr MACRS depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_sl_15 + + 15-yr straight line depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_sl_20 + + 20-yr straight line depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_sl_39 + + 39-yr straight line depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_sl_5 + + 5-yr straight line depreciation federal ITC adj qualifying costs [$] + + Type: + + float + + itc_fed_qual_total + + Total federal ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_fixed_total + + State ITC fixed total [$] + + Type: + + float + + itc_sta_percent_total + + State ITC percent total [$] + + Type: + + float + + itc_sta_qual_custom + + Custom straight line depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_macrs_15 + + 15-yr MACRS depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_macrs_5 + + 5-yr MACRS depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_sl_15 + + 15-yr straight line depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_sl_20 + + 20-yr straight line depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_sl_39 + + 39-yr straight line depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_sl_5 + + 5-yr straight line depreciation state ITC adj qualifying costs [$] + + Type: + + float + + itc_sta_qual_total + + Total state ITC adj qualifying costs [$] + + Type: + + float + + itc_total + + Total ITC income [$] + + Type: + + float + + itc_total_fed + + Federal ITC income [$] + + Type: + + float + + itc_total_sta + + State ITC income [$] + + Type: + + float + + lcoe_nom + + LCOE Levelized cost of energy nominal [cents/kWh] + + Type: + + float + + lcoe_real + + LCOE Levelized cost of energy real [cents/kWh] + + Type: + + float + + lcoptc_fed_nom + + Levelized federal PTC nominal [cents/kWh] + + Type: + + float + + lcoptc_fed_real + + Levelized federal PTC real [cents/kWh] + + Type: + + float + + lcoptc_sta_nom + + Levelized state PTC nominal [cents/kWh] + + Type: + + float + + lcoptc_sta_real + + Levelized state PTC real [cents/kWh] + + Type: + + float + + lcos_nom + + LCOS Levelized cost of storage nominal [cents/kWh] + + Type: + + float + + lcos_real + + LCOS Levelized cost of storage real [cents/kWh] + + Type: + + float + + lppa_nom + + LPPA Levelized PPA price nominal [cents/kWh] + + Type: + + float + + lppa_real + + LPPA Levelized PPA price real [cents/kWh] + + Type: + + float + + min_dscr + + Minimum DSCR + + Type: + + float + + nominal_discount_rate + + Nominal discount rate [%] + + Type: + + float + + npv_annual_costs + + Present value of annual costs [$] + + Type: + + float + + npv_annual_costs_lcos + + Present value of annual storage costs [$] + + Type: + + float + + npv_capacity_revenue + + Present value of capacity payment revenue [$] + + Type: + + float + + npv_curtailment_revenue + + Present value of curtailment payment revenue [$] + + Type: + + float + + npv_energy_lcos_nom + + Present value of annual stored energy (nominal) [kWh] + + Type: + + float + + npv_energy_lcos_real + + Present value of annual stored energy (real) [kWh] + + Type: + + float + + npv_energy_nom + + Present value of annual energy nominal [kWh] + + Type: + + float + + npv_energy_real + + Present value of annual energy real [kWh] + + Type: + + float + + npv_fed_pbi_income + + Present value of federal PBI income [$] + + Type: + + float + + npv_oth_pbi_income + + Present value of other PBI income [$] + + Type: + + float + + npv_ppa_revenue + + Present value of PPA revenue [$] + + Type: + + float + + npv_salvage_value + + Present value of salvage value [$] + + Type: + + float + + npv_sta_pbi_income + + Present value of state PBI income [$] + + Type: + + float + + npv_thermal_value + + Present value of thermal value [$] + + Type: + + float + + npv_uti_pbi_income + + Present value of utility PBI income [$] + + Type: + + float + + ppa + + PPA price in Year 1 [cents/kWh] + + Type: + + float + + ppa_escalation + + PPA price escalation [%/year] + + Type: + + float + + ppa_multipliers + + TOD factors + + Type: + + sequence + + ppa_price + + PPA price in first year [cents/kWh] + + Type: + + float + + pre_depr_alloc_basis + + Depreciable basis prior to allocation [$] + + Type: + + float + + pre_itc_qual_basis + + ITC basis prior to qualification [$] + + Type: + + float + + present_value_fuel + + Present value of fuel O&M [$] + + Type: + + float + + present_value_insandproptax + + Present value of insurance and prop tax [$] + + Type: + + float + + present_value_oandm + + Present value of O&M [$] + + Type: + + float + + present_value_oandm_nonfuel + + Present value of non-fuel O&M [$] + + Type: + + float + + project_return_aftertax_irr + + IRR Internal rate of return [%] + + Type: + + float + + project_return_aftertax_npv + + NPV Net present value [$] + + Type: + + float + + prop_tax_assessed_value + + Assessed value of property for tax purposes [$] + + Type: + + float + + purchase_of_property + + Purchase of property [$] + + Type: + + float + + pv_cafds + + Present value of CAFDS [$] + + Type: + + float + + revenue_gen + + Electricity to grid [kW] + + Type: + + sequence + + salvage_value + + Net pre-tax cash salvage value [$] + + Type: + + float + + size_of_debt + + Size of debt [$] + + Type: + + float + + size_of_equity + + Equity [$] + + Type: + + float + + wacc + + WACC Weighted average cost of capital [$] + + Type: + + float diff --git a/src/geophires_sam_economics/__init__.py b/src/geophires_sam_economics/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/geophires_sam_economics/generate-code-screenshot-1.png b/src/geophires_sam_economics/generate-code-screenshot-1.png new file mode 100644 index 000000000..b4501c9c6 Binary files /dev/null and b/src/geophires_sam_economics/generate-code-screenshot-1.png differ diff --git a/src/geophires_sam_economics/main.py b/src/geophires_sam_economics/main.py new file mode 100644 index 000000000..ac62366aa --- /dev/null +++ b/src/geophires_sam_economics/main.py @@ -0,0 +1,37 @@ +import os + +# noinspection PyProtectedMember +from geophires_x.EconomicsSamCashFlow import _SINGLE_OWNER_OUTPUT_PROPERTIES + + +def _get_file_path(file_name) -> str: + return os.path.join(os.path.abspath(os.path.dirname(__file__)), file_name) + + +def _generate_mapping_from_module_doc(module_name: str = 'Cashloan'): + with open(_get_file_path(f'{module_name}.html.txt'), encoding='utf-8') as f: + # lines = f.readlines() + + txt = f.read() + # lines = txt.split('PySAM.Cashloan.Cashloan.Outputs')[1].split('\n') + txt = txt.split(f'PySAM.{module_name}.{module_name}.Outputs')[1].split('Outputs_vals =')[2] + lines = txt.split('\n')[2:] + + # _log.debug(f'Found {len(lines)} lines {module_name} in module doc') + for i in range(0, len(lines), 8): + prop = lines[i].strip()[:-1] + if prop == '': + continue + display_name = lines[i + 2].strip().replace('[', '(').replace(']', ')') + # _log.debug(f'Property: {prop}') + if display_name not in _SINGLE_OWNER_OUTPUT_PROPERTIES: + print(f"\t'{display_name}': '{prop}', # {module_name}") + + +if __name__ == '__main__': + # sop = _SINGLE_OWNER_OUTPUT_PROPERTIES.copy() + # # del sop['Total installed cost ($)'] + # print(json_dumpse(sop)) + + _generate_mapping_from_module_doc('Cashloan') + _generate_mapping_from_module_doc('Singleowner') diff --git a/src/geophires_sam_economics/sam-depreciation-table.csv b/src/geophires_sam_economics/sam-depreciation-table.csv new file mode 100644 index 000000000..3f9982ba3 --- /dev/null +++ b/src/geophires_sam_economics/sam-depreciation-table.csv @@ -0,0 +1,18 @@ +MACRS 5-yr,% of Basis Prior to Allocation,Gross Basis Allocations,Basis Reduction for IBI,Basis Reduction for CBI,Basis After IBI and CBI Reductions,ITC Qualifying Costs,% of ITC Qualifying Costs,ITC as Percentage Amount,50% Basis Reduction for ITC as %,ITC as Fixed Amount,50% Basis Reduction for ITC as Fixed Amount,State ITC Reduction,Federal ITC Reduction,Basis After ITC Reduction,Bonus Depreciation Reduction,Depreciable Basis,,,,,,,,,,,,,,,,,,,,,, +MACRS 15-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 5-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 15-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 20-yr,100.00,"1,532,780,032.00",0,0,"1,532,780,032.00",0,0,0,0,0,0,0,"229,916,992.00","1,302,862,976.00",0,"1,302,862,976.00",,,,,,,,,,,,,,,,,,,,,, +Straight Line 39-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Custom,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Total,100.00,"1,532,780,032.00",0,0,"1,532,780,032.00",0,100.00,0,0,0,0,0,"229,916,992.00","1,302,862,976.00",0,"1,302,862,976.00",,,,,,,,,,,,,,,,,,,,,, +DEPRECIATION AND ITC: FEDERAL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +MACRS 5-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +MACRS 15-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 5-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 15-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Straight Line 20-yr,100.00,"1,532,780,032.00",0,0,"1,532,780,032.00","1,532,780,032.00",100.00,"459,833,984.00","229,916,992.00",0,0,0,"229,916,992.00","1,302,862,976.00",0,"1,302,862,976.00",,,,,,,,,,,,,,,,,,,,,, +Straight Line 39-yr,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Custom,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,,,,,,, +Total,100.00,"1,532,780,032.00",0,0,"1,532,780,032.00","1,532,780,032.00",100.00,"459,833,984.00","229,916,992.00",0,0,0,"229,916,992.00","1,302,862,976.00",0,"1,302,862,976.00",,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/src/geophires_x/.gitignore b/src/geophires_x/.gitignore index dee1bab61..97dad0373 100644 --- a/src/geophires_x/.gitignore +++ b/src/geophires_x/.gitignore @@ -134,3 +134,5 @@ Examples\Test2.json /Preliminary_Corpus Christi GRA_093019.xlsx /temperature.txt all_messages_conf.log + +!sam_economics/Generic_400_MWe/*.json diff --git a/src/geophires_x/Economics.py b/src/geophires_x/Economics.py index 5a4fae1b1..3a425acc4 100644 --- a/src/geophires_x/Economics.py +++ b/src/geophires_x/Economics.py @@ -1,9 +1,12 @@ import math -import os import sys import numpy as np import numpy_financial as npf import geophires_x.Model as Model +from geophires_x import EconomicsSam +from geophires_x.EconomicsSam import calculate_sam_economics, SamEconomicsCalculations +from geophires_x.EconomicsUtils import BuildPricingModel, wacc_output_parameter, nominal_discount_rate_parameter, \ + real_discount_rate_parameter from geophires_x.OptionList import Configuration, WellDrillingCostCorrelation, EconomicModel, EndUseOptions, PlantType, \ _WellDrillingCostCorrelationCitation from geophires_x.Parameter import intParameter, floatParameter, OutputParameter, ReadParameter, boolParameter, \ @@ -163,37 +166,6 @@ def BuildPTCModel(plantlifetime: int, duration: int, ptc_price: float, return Price -def BuildPricingModel(plantlifetime: int, StartPrice: float, EndPrice: float, - EscalationStartYear: int, EscalationRate: float, PTCAddition: list) -> list: - """ - BuildPricingModel builds the price model array for the project lifetime. It is used to calculate the revenue - stream for the project. - :param plantlifetime: The lifetime of the project in years - :type plantlifetime: int - :param StartPrice: The price in the first year of the project in $/kWh - :type StartPrice: float - :param EndPrice: The price in the last year of the project in $/kWh - :type EndPrice: float - :param EscalationStartYear: The year the price escalation starts in years (not including construction years) in years - :type EscalationStartYear: int - :param EscalationRate: The rate of price escalation in $/kWh/year - :type EscalationRate: float - :param PTCAddition: The PTC addition array for the project in $/kWh - :type PTCAddition: list - :return: Price: The price model array for the project in $/kWh - :rtype: list - """ - Price = [0.0] * plantlifetime - for i in range(0, plantlifetime, 1): - Price[i] = StartPrice - if i >= EscalationStartYear: - Price[i] = Price[i] + ((i - EscalationStartYear) * EscalationRate) - if Price[i] > EndPrice: - Price[i] = EndPrice - Price[i] = Price[i] + PTCAddition[i] - return Price - - def CalculateTotalRevenue(plantlifetime: int, ConstructionYears: int, CAPEX: float, OPEX: float, AnnualRev): """ CalculateRevenue calculates the revenue stream for the project. It is used to calculate the revenue @@ -469,7 +441,9 @@ def CalculateLCOELCOHLCOC(econ, model: Model) -> tuple: econ.annualngcost.value) * discount_vector)) / np.sum( model.surfaceplant.annual_heating_demand.value * discount_vector) * 1E2 # cents/kWh LCOH = LCOH * 2.931 # $/Million Btu - + elif econ.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + # Designated as nominal (as opposed to real) in parameter tooltip text + LCOE = econ.sam_economics_calculations.lcoe_nominal.quantity().to(convertible_unit(econ.LCOE.CurrentUnits.value)).magnitude else: # must be BICYCLE # average return on investment (tax and inflation adjusted) @@ -590,7 +564,7 @@ def __init__(self, model: Model): self.econmodel = self.ParameterDict[self.econmodel.Name] = intParameter( "Economic Model", DefaultValue=EconomicModel.STANDARDIZED_LEVELIZED_COST.int_value, - AllowableRange=[1, 2, 3, 4], + AllowableRange=[1, 2, 3, 4, 5], ValuesEnum=EconomicModel, Required=True, ErrMessage="assume default economic model (2)", @@ -879,7 +853,7 @@ def __init__(self, model: Model): PreferredUnits=PercentUnit.TENTH, CurrentUnits=PercentUnit.TENTH, ErrMessage=f'assume default discount rate ({discount_rate_default_val})', - ToolTipText="Discount rate used in the Standard Levelized Cost Model. " + ToolTipText="Discount rate used in the Standard Levelized Cost Model and SAM Economic Models. " "Discount Rate is synonymous with Fixed Internal Rate. If one is provided, the other's value " "will be automatically set to the same value." ) @@ -1545,6 +1519,9 @@ def __init__(self, model: Model): self.annualheatincome = 0.0 self.InputFile = "" self.Cplantcorrelation = 0.0 + + self.sam_economics_calculations: SamEconomicsCalculations = None + sclass = str(__class__).replace("", "") self.MyPath = os.path.abspath(__file__) @@ -1588,7 +1565,8 @@ def __init__(self, model: Model): display_name='Electricity breakeven price', UnitType=Units.ENERGYCOST, PreferredUnits=EnergyCostUnit.CENTSSPERKWH, - CurrentUnits=EnergyCostUnit.CENTSSPERKWH + CurrentUnits=EnergyCostUnit.CENTSSPERKWH, + ToolTipText="For SAM economic models, this is the nominal LCOE value (as opposed to real)." ) self.LCOH = self.OutputParameterDict[self.LCOH.Name] = OutputParameter( Name="LCOH", @@ -1798,6 +1776,12 @@ def __init__(self, model: Model): CurrentUnits=PercentUnit.PERCENT ) + self.real_discount_rate = self.OutputParameterDict[self.real_discount_rate.Name] = ( + real_discount_rate_parameter()) + self.nominal_discount_rate = self.OutputParameterDict[self.nominal_discount_rate.Name] = ( + nominal_discount_rate_parameter()) + self.wacc = self.OutputParameterDict[self.wacc.Name] = wacc_output_parameter() + # TODO this is displayed as "Project Net Revenue" in Revenue & Cashflow Profile which is probably not an # accurate synonym for annual revenue self.TotalRevenue = self.OutputParameterDict[self.TotalRevenue.Name] = OutputParameter( @@ -1917,6 +1901,10 @@ def read_parameters(self, model: Model) -> None: """ model.logger.info(f'Init {__class__!s}: {sys._getframe().f_code.co_name}') + def _warn(_msg: str) -> None: + print(f'Warning: {_msg}') + model.logger.warning(_msg) + if len(model.InputParameters) > 0: # loop through all the parameters that the user wishes to set, looking for parameters that match this object for item in self.ParameterDict.items(): @@ -1937,315 +1925,214 @@ def read_parameters(self, model: Model) -> None: elif ParameterToModify.Name == "Reservoir Stimulation Capital Cost Adjustment Factor": if self.ccstimfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided reservoir stimulation cost adjustment factor not considered" + + _warn("Provided reservoir stimulation cost adjustment factor not considered" + " because valid total reservoir stimulation cost provided.") - model.logger.warning( - "Provided reservoir stimulation cost adjustment factor not considered" + - " because valid total reservoir stimulation cost provided.") elif not self.ccstimfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid reservoir stimulation total cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in reservoir stimulation cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid reservoir stimulation total cost or adjustment factor" + + _warn("No valid reservoir stimulation total cost or adjustment factor" + " provided. GEOPHIRES will assume default built-in reservoir stimulation cost correlation" + " with adjustment factor = 1.") elif self.ccstimfixed.Provided and not self.ccstimfixed.Valid: - print("Warning: Provided reservoir stimulation cost outside of range 0-100. GEOPHIRES" + - " will assume default built-in reservoir stimulation cost correlation with" + - " adjustment factor = 1.") - model.logger.warning( + _warn( "Provided reservoir stimulation cost outside of range 0-100. GEOPHIRES" + " will assume default built-in reservoir stimulation cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.ccstimfixed.Provided and ParameterToModify.Provided and not ParameterToModify.Valid: - print("Warning: Provided reservoir stimulation cost adjustment factor outside of" + - " range 0-10. GEOPHIRES will assume default reservoir stimulation cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided reservoir stimulation cost adjustment factor outside of" + + _warn("Provided reservoir stimulation cost adjustment factor outside of" + " range 0-10. GEOPHIRES will assume default reservoir stimulation cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Exploration Capital Cost Adjustment Factor": if self.totalcapcost.Valid: if self.ccexplfixed.Provided: - print("Warning: Provided exploration cost not considered because valid" + - " total capital cost provided.") - model.logger.warning("Warning: Provided exploration cost not considered" + + _warn("Warning: Provided exploration cost not considered" + " because valid total capital cost provided.") if ParameterToModify.Provided: - print("Warning: Provided exploration cost adjustment factor not considered because" + - " valid total capital cost provided.") - model.logger.warning("Warning: Provided exploration cost not considered because valid" + + _warn("Warning: Provided exploration cost not considered because valid" + " total capital cost provided.") else: if self.ccexplfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided exploration cost adjustment factor not considered" + - " because valid total exploration cost provided.") - model.logger.warning("Provided exploration cost adjustment factor not" + + _warn("Provided exploration cost adjustment factor not" + " considered because valid total exploration cost provided.") elif not self.ccexplfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid exploration total cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in exploration cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid exploration total cost or adjustment factor provided." + + _warn("No valid exploration total cost or adjustment factor provided." + " GEOPHIRES will assume default built-in exploration cost correlation with" + " adjustment factor = 1.") elif self.ccexplfixed.Provided and not self.ccexplfixed.Valid: - print("Warning: Provided exploration cost outside of range 0-100. GEOPHIRES" + - " will assume default built-in exploration cost correlation with adjustment factor = 1.") - model.logger.warning("Provided exploration cost outside of range 0-100. GEOPHIRES" + + _warn("Provided exploration cost outside of range 0-100. GEOPHIRES" + " will assume default built-in exploration cost correlation with adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.ccexplfixed.Provided and ParameterToModify.Provided and not ParameterToModify.Valid: - print("Warning: Provided exploration cost adjustment factor outside of range 0-10." + - " GEOPHIRES will assume default exploration cost correlation with adjustment factor = 1.") - model.logger.warning("Provided exploration cost adjustment factor outside of" + + _warn("Provided exploration cost adjustment factor outside of" + " range 0-10. GEOPHIRES will assume default exploration cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Well Drilling and Completion Capital Cost Adjustment Factor": if self.per_production_well_cost.Valid and ParameterToModify.Valid: - msg = ('Provided well drilling and completion cost adjustment factor not considered ' + _warn('Provided well drilling and completion cost adjustment factor not considered ' 'because valid total well drilling and completion cost provided.') - print(f'Warning: {msg}') - model.logger.warning(msg) elif not self.per_production_well_cost.Provided and not self.production_well_cost_adjustment_factor.Provided: ParameterToModify.value = 1.0 - msg = ("No valid well drilling and completion total cost or adjustment factor provided. " + _warn("No valid well drilling and completion total cost or adjustment factor provided. " "GEOPHIRES will assume default built-in well drilling and completion cost " "correlation with adjustment factor = 1.") - print(f'Warning: {msg}') - model.logger.warning(msg) elif self.per_production_well_cost.Provided and not self.per_production_well_cost.Valid: - msg = ("Provided well drilling and completion cost outside of range 0-1000. GEOPHIRES " + _warn("Provided well drilling and completion cost outside of range 0-1000. GEOPHIRES " "will assume default built-in well drilling and completion cost correlation " "with adjustment factor = 1.") - print(f'Warning: {msg}') - model.logger.warning(msg) self.production_well_cost_adjustment_factor.value = 1.0 elif not self.per_production_well_cost.Provided and self.production_well_cost_adjustment_factor.Provided and not self.production_well_cost_adjustment_factor.Valid: - msg = ("Provided well drilling and completion cost adjustment factor outside of range " + _warn("Provided well drilling and completion cost adjustment factor outside of range " "0-10. GEOPHIRES will assume default built-in well drilling and completion cost " "correlation with adjustment factor = 1.") - print(f'Warning: {msg}') - model.logger.warning(msg) self.production_well_cost_adjustment_factor.value = 1.0 elif ParameterToModify.Name == "Wellfield O&M Cost Adjustment Factor": if self.oamtotalfixed.Valid: if self.oamwellfixed.Provided: - print("Warning: Provided total wellfield O&M cost not considered because" + - " valid total annual O&M cost provided.") - model.logger.warning("Provided total wellfield O&M cost not considered because" + + _warn("Provided total wellfield O&M cost not considered because" + " valid total annual O&M cost provided.") if ParameterToModify.Provided: - print("Warning: Provided wellfield O&M cost adjustment factor not considered because" + - " valid total annual O&M cost provided.") - model.logger.warning("Provided wellfield O&M cost adjustment factor not considered" + + _warn("Provided wellfield O&M cost adjustment factor not considered" + " because valid total annual O&M cost provided.") else: if self.oamwellfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided wellfield O&M cost adjustment factor not considered" + - " because valid total wellfield O&M cost provided.") - model.logger.warning("Provided wellfield O&M cost adjustment factor not considered" + + _warn("Provided wellfield O&M cost adjustment factor not considered" + " because valid total wellfield O&M cost provided.") elif not self.oamwellfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid total wellfield O&M cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in wellfield O&M cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid total wellfield O&M cost or adjustment factor" + + _warn("No valid total wellfield O&M cost or adjustment factor" + " provided. GEOPHIRES will assume default built-in wellfield O&M cost correlation" + " with adjustment factor = 1.") elif self.oamwellfixed.Provided and not self.oamwellfixed.Valid: - print("Warning: Provided total wellfield O&M cost outside of range 0-100." + - " GEOPHIRES will assume default built-in wellfield O&M cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided total wellfield O&M cost outside of range 0-100." + + _warn("Provided total wellfield O&M cost outside of range 0-100." + " GEOPHIRES will assume default built-in wellfield O&M cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.oamwellfixed.Provided and self.oamwelladjfactor.Provided and not self.oamwelladjfactor.Valid: - print("Warning: Provided wellfield O&M cost adjustment factor outside of range 0-10." + - " GEOPHIRES will assume default wellfield O&M cost correlation with adjustment factor = 1.") - model.logger.warning("Provided wellfield O&M cost adjustment factor outside of" + + _warn("Provided wellfield O&M cost adjustment factor outside of" + " range 0-10. GEOPHIRES will assume default wellfield O&M cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Surface Plant Capital Cost Adjustment Factor": if self.totalcapcost.Valid: if self.ccplantfixed.Provided: - print("Warning: Provided surface plant cost not considered because valid" + - " total capital cost provided.") - model.logger.warning("Provided surface plant cost not considered because valid" + + _warn("Provided surface plant cost not considered because valid" + " total capital cost provided.") if ParameterToModify.Provided: - print("Warning: Provided surface plant cost adjustment factor not considered" + - " because valid total capital cost provided.") - model.logger.warning("Provided surface plant cost adjustment factor not considered" + + _warn("Provided surface plant cost adjustment factor not considered" + " because valid total capital cost provided.") else: if self.ccplantfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided surface plant cost adjustment factor not considered because" + - " valid total surface plant cost provided.") - model.logger.warning("Provided surface plant cost adjustment factor not considered" + + _warn("Provided surface plant cost adjustment factor not considered" + " because valid total surface plant cost provided.") elif not self.ccplantfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid surface plant total cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in surface plant cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid surface plant total cost or adjustment factor" + + _warn("No valid surface plant total cost or adjustment factor" + " provided. GEOPHIRES will assume default built-in surface plant cost correlation" + " with adjustment factor = 1.") elif self.ccplantfixed.Provided and not self.ccplantfixed.Valid: - print("Warning: Provided surface plant cost outside of range 0-1000." + - " GEOPHIRES will assume default built-in surface plant cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided surface plant cost outside of range 0-1000." + + _warn("Provided surface plant cost outside of range 0-1000." + " GEOPHIRES will assume default built-in surface plant cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.ccplantfixed.Provided and self.ccplantadjfactor.Provided and not self.ccplantadjfactor.Valid: - print("Warning: Provided surface plant cost adjustment factor outside of range 0-10." + - " GEOPHIRES will assume default surface plant cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided surface plant cost adjustment factor outside of" + + _warn("Provided surface plant cost adjustment factor outside of" + " range 0-10. GEOPHIRES will assume default surface plant cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Field Gathering System Capital Cost Adjustment Factor": if self.totalcapcost.Valid: if self.ccgathfixed.Provided: - print("Warning: Provided field gathering system cost not considered because valid" + - " total capital cost provided.") - model.logger.warning( + _warn( "Provided field gathering system cost not considered because valid" + " total capital cost provided.") if ParameterToModify.Provided: - print("Warning: Provided field gathering system cost adjustment factor not" + - " considered because valid total capital cost provided.") - model.logger.warning("Provided field gathering system cost adjustment factor not" + + _warn("Provided field gathering system cost adjustment factor not" + " considered because valid total capital cost provided.") else: if self.ccgathfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided field gathering system cost adjustment factor not" + - " considered because valid total field gathering system cost provided.") - model.logger.warning("Provided field gathering system cost adjustment factor not" + + _warn("Provided field gathering system cost adjustment factor not" + " considered because valid total field gathering system cost provided.") elif not self.ccgathfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid field gathering system total cost or adjustment factor" + - " provided. GEOPHIRES will assume default built-in field gathering system cost" + - " correlation with adjustment factor = 1.") - model.logger.warning("No valid field gathering system total cost or adjustment factor" + + _warn("No valid field gathering system total cost or adjustment factor" + " provided. GEOPHIRES will assume default built-in field gathering system cost" + " correlation with adjustment factor = 1.") elif self.ccgathfixed.Provided and not self.ccgathfixed.Valid: - print("Warning: Provided field gathering system cost outside of range 0-100." + - " GEOPHIRES will assume default built-in field gathering system cost correlation" + - " with adjustment factor = 1.") - model.logger.warning("Provided field gathering system cost outside of range 0-100." + + _warn("Provided field gathering system cost outside of range 0-100." + " GEOPHIRES will assume default built-in field gathering system cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.ccgathfixed.Provided and ParameterToModify.Provided and not ParameterToModify.Valid: - print("Warning: Provided field gathering system cost adjustment factor" + - " outside of range 0-10. GEOPHIRES will assume default field gathering system" + - " cost correlation with adjustment factor = 1.") - model.logger.warning("Provided field gathering system cost adjustment factor" + + _warn("Provided field gathering system cost adjustment factor" + " outside of range 0-10. GEOPHIRES will assume default field gathering system cost" + " correlation with adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Water Cost Adjustment Factor": if self.oamtotalfixed.Valid: if self.oamwaterfixed.Provided: - print("Warning: Provided total water cost not considered because valid" + - " total annual O&M cost provided.") - model.logger.warning("Provided total water cost not considered because valid" + + _warn("Provided total water cost not considered because valid" + " total annual O&M cost provided.") if ParameterToModify.Provided: - print("Warning: Provided water cost adjustment factor not considered because" + - " valid total annual O&M cost provided.") - model.logger.warning("Provided water cost adjustment factor not considered because" + + _warn("Provided water cost adjustment factor not considered because" + " valid total annual O&M cost provided.") else: if self.oamwaterfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided water cost adjustment factor not considered because" + - " valid total water cost provided.") - model.logger.warning("Provided water cost adjustment factor not considered because" + + _warn("Provided water cost adjustment factor not considered because" + " valid total water cost provided.") elif not self.oamwaterfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid total water cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in water cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid total water cost or adjustment factor provided." + + _warn("No valid total water cost or adjustment factor provided." + " GEOPHIRES will assume default built-in water cost correlation with" + " adjustment factor = 1.") elif self.oamwaterfixed.Provided and not self.oamwaterfixed.Valid: - print("Warning: Provided total water cost outside of range 0-100. GEOPHIRES" + - " will assume default built-in water cost correlation with adjustment factor = 1.") - model.logger.warning("Provided total water cost outside of range 0-100. GEOPHIRES" + + _warn("Provided total water cost outside of range 0-100. GEOPHIRES" + " will assume default built-in water cost correlation with adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.oamwaterfixed.Provided and ParameterToModify.Provided and not ParameterToModify.Valid: - print("Warning: Provided water cost adjustment factor outside of range 0-10." + - " GEOPHIRES will assume default water cost correlation with adjustment factor = 1.") - model.logger.warning("Provided water cost adjustment factor outside of range 0-10." + + _warn("Provided water cost adjustment factor outside of range 0-10." + " GEOPHIRES will assume default water cost correlation with adjustment factor = 1.") ParameterToModify.value = 1.0 elif ParameterToModify.Name == "Surface Plant O&M Cost Adjustment Factor": if self.oamtotalfixed.Valid: if self.oamplantfixed.Provided: - print("Warning: Provided total surface plant O&M cost not considered because" + - " valid total annual O&M cost provided.") - model.logger.warning("Provided total surface plant O&M cost not considered because" + + _warn("Provided total surface plant O&M cost not considered because" + " valid total annual O&M cost provided.") if ParameterToModify.Provided: - print("Warning: Provided surface plant O&M cost adjustment factor not considered" + - " because valid total annual O&M cost provided.") - model.logger.warning( + _warn( "Provided surface plant O&M cost adjustment factor not considered" + " because valid total annual O&M cost provided.") else: if self.oamplantfixed.Valid and ParameterToModify.Valid: - print("Warning: Provided surface plant O&M cost adjustment factor not considered" + - " because valid total surface plant O&M cost provided.") - model.logger.warning( + _warn( "Provided surface plant O&M cost adjustment factor not considered" + " because valid total surface plant O&M cost provided.") elif not self.oamplantfixed.Provided and not ParameterToModify.Provided: ParameterToModify.value = 1.0 - print("Warning: No valid surface plant O&M cost or adjustment factor provided." + - " GEOPHIRES will assume default built-in surface plant O&M cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("No valid surface plant O&M cost or adjustment factor provided." + + _warn("No valid surface plant O&M cost or adjustment factor provided." + " GEOPHIRES will assume default built-in surface plant O&M cost correlation with" + " adjustment factor = 1.") elif self.oamplantfixed.Provided and not self.oamplantfixed.Valid: - print("Warning: Provided surface plant O&M cost outside of range 0-100." + - " GEOPHIRES will assume default built-in surface plant O&M cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided surface plant O&M cost outside of range 0-100." + + _warn("Provided surface plant O&M cost outside of range 0-100." + " GEOPHIRES will assume default built-in surface plant O&M cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 elif not self.oamplantfixed.Provided and ParameterToModify.Provided and not ParameterToModify.Valid: - print("Warning: Provided surface plant O&M cost adjustment factor outside of" + - " range 0-10. GEOPHIRES will assume default surface plant O&M cost correlation with" + - " adjustment factor = 1.") - model.logger.warning("Provided surface plant O&M cost adjustment factor outside of" + + _warn("Provided surface plant O&M cost adjustment factor outside of" + " range 0-10. GEOPHIRES will assume default surface plant O&M cost correlation with" + " adjustment factor = 1.") ParameterToModify.value = 1.0 + if self.HeatStartPrice.value > self.HeatEndPrice.value: s = f'{self.HeatStartPrice.Name} ({self.HeatStartPrice.quantity()}) cannot be ' \ f'greater than {self.HeatEndPrice.Name} ({self.HeatEndPrice.quantity()}). ' \ f'GEOPHIRES will assume {self.HeatStartPrice.Name} is equal to {self.HeatEndPrice.Name}.' model.logger.warning(s) + + if self.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + EconomicsSam.validate_read_parameters(model) else: model.logger.info("No parameters read because no content provided") @@ -2845,13 +2732,13 @@ def Calculate(self, model: Model) -> None: self.HeatEscalationStart.value, self.HeatEscalationRate.value, self.PTCHeatPrice) self.CoolingPrice.value = BuildPricingModel(model.surfaceplant.plant_lifetime.value, - self.CoolingStartPrice.value, self.CoolingEndPrice.value, - self.CoolingEscalationStart.value, self.CoolingEscalationRate.value, - self.PTCCoolingPrice) + self.CoolingStartPrice.value, self.CoolingEndPrice.value, + self.CoolingEscalationStart.value, self.CoolingEscalationRate.value, + self.PTCCoolingPrice) self.CarbonPrice.value = BuildPricingModel(model.surfaceplant.plant_lifetime.value, - self.CarbonStartPrice.value, self.CarbonEndPrice.value, - self.CarbonEscalationStart.value, self.CarbonEscalationRate.value, - self.PTCCarbonPrice) + self.CarbonStartPrice.value, self.CarbonEndPrice.value, + self.CarbonEscalationStart.value, self.CarbonEscalationRate.value, + self.PTCCarbonPrice) # do the additional economic calculations first, if needed, so the summaries below work. if self.DoAddOnCalculations.value: @@ -2859,94 +2746,7 @@ def Calculate(self, model: Model) -> None: if self.DoSDACGTCalculations.value: model.sdacgteconomics.Calculate(model) - # Calculate cashflow and cumulative cash flow - total_duration = model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value - self.ElecRevenue.value = [0.0] * total_duration - self.ElecCummRevenue.value = [0.0] * total_duration - self.HeatRevenue.value = [0.0] * total_duration - self.HeatCummRevenue.value = [0.0] * total_duration - self.CoolingRevenue.value = [0.0] * total_duration - self.CoolingCummRevenue.value = [0.0] * total_duration - self.CarbonRevenue.value = [0.0] * total_duration - self.CarbonCummCashFlow.value = [0.0] * total_duration - self.TotalRevenue.value = [0.0] * total_duration - self.TotalCummRevenue.value = [0.0] * total_duration - self.CarbonThatWouldHaveBeenProducedTotal.value = 0.0 - - # Based on the style of the project, calculate the revenue & cumulative revenue - if model.surfaceplant.enduse_option.value == EndUseOptions.ELECTRICITY: - self.ElecRevenue.value, self.ElecCummRevenue.value = CalculateRevenue( - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - model.surfaceplant.NetkWhProduced.value, self.ElecPrice.value) - self.TotalRevenue.value = self.ElecRevenue.value.copy() - #self.TotalCummRevenue.value = self.ElecCummRevenue.value - elif model.surfaceplant.enduse_option.value == EndUseOptions.HEAT and model.surfaceplant.plant_type.value not in [PlantType.ABSORPTION_CHILLER]: - self.HeatRevenue.value, self.HeatCummRevenue.value = CalculateRevenue( - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - model.surfaceplant.HeatkWhProduced.value, self.HeatPrice.value) - self.TotalRevenue.value = self.HeatRevenue.value.copy() - #self.TotalCummRevenue.value = self.HeatCummRevenue.value - elif model.surfaceplant.enduse_option.value == EndUseOptions.HEAT and model.surfaceplant.plant_type.value in [PlantType.ABSORPTION_CHILLER]: - self.CoolingRevenue.value, self.CoolingCummRevenue.value = CalculateRevenue( - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - model.surfaceplant.cooling_kWh_Produced.value, self.CoolingPrice.value) - self.TotalRevenue.value = self.CoolingRevenue.value.copy() - #self.TotalCummRevenue.value = self.CoolingCummRevenue.value - elif model.surfaceplant.enduse_option.value in [EndUseOptions.COGENERATION_TOPPING_EXTRA_HEAT, - EndUseOptions.COGENERATION_TOPPING_EXTRA_ELECTRICITY, - EndUseOptions.COGENERATION_BOTTOMING_EXTRA_ELECTRICITY, - EndUseOptions.COGENERATION_BOTTOMING_EXTRA_HEAT, - EndUseOptions.COGENERATION_PARALLEL_EXTRA_HEAT, - EndUseOptions.COGENERATION_PARALLEL_EXTRA_ELECTRICITY]: # co-gen - # else: - self.ElecRevenue.value, self.ElecCummRevenue.value = CalculateRevenue( - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - model.surfaceplant.NetkWhProduced.value, self.ElecPrice.value) - self.HeatRevenue.value, self.HeatCummRevenue.value = CalculateRevenue( - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - model.surfaceplant.HeatkWhProduced.value, self.HeatPrice.value) - - for i in range(0, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): - self.TotalRevenue.value[i] = self.ElecRevenue.value[i] + self.HeatRevenue.value[i] - #if i > 0: - # self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i - 1] + self.TotalRevenue.value[i] - - if self.DoCarbonCalculations.value: - self.CarbonRevenue.value, self.CarbonCummCashFlow.value, self.CarbonThatWouldHaveBeenProducedAnnually.value, \ - self.CarbonThatWouldHaveBeenProducedTotal.value = CalculateCarbonRevenue(model, - model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, - self.CarbonPrice.value, self.GridCO2Intensity.value, self.NaturalGasCO2Intensity.value, - model.surfaceplant.NetkWhProduced.value, model.surfaceplant.HeatkWhProduced.value) - for i in range(model.surfaceplant.construction_years.value, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): - self.TotalRevenue.value[i] = self.TotalRevenue.value[i] + self.CarbonRevenue.value[i] - #self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i] + self.CarbonCummCashFlow.value[i] - - # for the sake of display, insert zeros at the beginning of the pricing arrays - for i in range(0, model.surfaceplant.construction_years.value, 1): - self.ElecPrice.value.insert(0, 0.0) - self.HeatPrice.value.insert(0, 0.0) - self.CoolingPrice.value.insert(0, 0.0) - self.CarbonPrice.value.insert(0, 0.0) - - # Insert the cost of construction into the front of the array that will be used to calculate NPV - # the convention is that the upfront CAPEX is negative - # This is the same for all projects - ProjectCAPEXPerConstructionYear = self.CCap.value / model.surfaceplant.construction_years.value - for i in range(0, model.surfaceplant.construction_years.value, 1): - self.TotalRevenue.value[i] = -1.0 * ProjectCAPEXPerConstructionYear - self.TotalCummRevenue.value[i] = -1.0 * ProjectCAPEXPerConstructionYear -# self.TotalRevenue.value, self.TotalCummRevenue.value = CalculateTotalRevenue( -# model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, self.CCap.value, -# self.Coam.value, self.TotalRevenue.value, self.TotalCummRevenue.value) - - # Do a one-time calculation that accounts for OPEX - no OPEX in the first year. - for i in range(model.surfaceplant.construction_years.value, - model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): - self.TotalRevenue.value[i] = self.TotalRevenue.value[i] - self.Coam.value - - # Now do a one-time calculation that calculates the cumulative cash flow after everything else has been accounted for - for i in range(1, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): - self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i-1] + self.TotalRevenue.value[i] + self.calculate_cashflow(model) # Calculate more financial values using numpy financials self.ProjectNPV.value, self.ProjectIRR.value, self.ProjectVIR.value, self.ProjectMOIC.value = \ @@ -2960,17 +2760,35 @@ def Calculate(self, model: Model) -> None: self.discount_initial_year_cashflow.value ) + non_calculated_output_placeholder_val = -1 + if self.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + self.sam_economics_calculations = calculate_sam_economics(model) + self.wacc.value = self.sam_economics_calculations.wacc.value + self.nominal_discount_rate.value = self.sam_economics_calculations.nominal_discount_rate.value + self.ProjectNPV.value = self.sam_economics_calculations.project_npv.quantity().to( + convertible_unit(self.ProjectNPV.CurrentUnits)).magnitude + self.ProjectIRR.value = self.sam_economics_calculations.project_irr.quantity().to( + convertible_unit(self.ProjectIRR.CurrentUnits)).magnitude + + self.ProjectVIR.value = non_calculated_output_placeholder_val # TODO SAM VIR + self.ProjectMOIC.value = non_calculated_output_placeholder_val # TODO SAM MOIC + # Calculate the project payback period - self.ProjectPaybackPeriod.value = 0.0 # start by assuming the project never pays back - for i in range(0, len(self.TotalCummRevenue.value), 1): + + if self.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + # TODO SAM project payback period + self.ProjectPaybackPeriod.value = non_calculated_output_placeholder_val + else: + self.ProjectPaybackPeriod.value = 0.0 # start by assuming the project never pays back + for i in range(0, len(self.TotalCummRevenue.value), 1): # find out when the cumm cashflow goes from negative to positive if self.TotalCummRevenue.value[i] > 0 >= self.TotalCummRevenue.value[i - 1]: - # we just crossed the threshold into positive project cummcashflow, so we can calculate payback period + # we just crossed the threshold into positive project cummcashflow, + # so we can calculate payback period dFullDiff = self.TotalCummRevenue.value[i] + math.fabs(self.TotalCummRevenue.value[(i - 1)]) dPerc = math.fabs(self.TotalCummRevenue.value[(i - 1)]) / dFullDiff self.ProjectPaybackPeriod.value = i + dPerc - # Calculate LCOE/LCOH self.LCOE.value, self.LCOH.value, self.LCOC.value = CalculateLCOELCOHLCOC(self, model) @@ -2982,6 +2800,103 @@ def Calculate(self, model: Model) -> None: self._calculate_derived_outputs(model) model.logger.info(f'complete {__class__!s}: {sys._getframe().f_code.co_name}') + + def calculate_cashflow(self, model: Model) -> None: + """ + Calculate cashflow and cumulative cash flow + + Note that these calculations are irrelevant and ignored for SAM economic models, except for + carbon calculations. + """ + + total_duration = model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value + self.ElecRevenue.value = [0.0] * total_duration + self.ElecCummRevenue.value = [0.0] * total_duration + self.HeatRevenue.value = [0.0] * total_duration + self.HeatCummRevenue.value = [0.0] * total_duration + self.CoolingRevenue.value = [0.0] * total_duration + self.CoolingCummRevenue.value = [0.0] * total_duration + self.CarbonRevenue.value = [0.0] * total_duration + self.CarbonCummCashFlow.value = [0.0] * total_duration + self.TotalRevenue.value = [0.0] * total_duration + self.TotalCummRevenue.value = [0.0] * total_duration + self.CarbonThatWouldHaveBeenProducedTotal.value = 0.0 + + # Based on the style of the project, calculate the revenue & cumulative revenue + if model.surfaceplant.enduse_option.value == EndUseOptions.ELECTRICITY: + self.ElecRevenue.value, self.ElecCummRevenue.value = CalculateRevenue( + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + model.surfaceplant.NetkWhProduced.value, self.ElecPrice.value) + self.TotalRevenue.value = self.ElecRevenue.value.copy() + #self.TotalCummRevenue.value = self.ElecCummRevenue.value + elif model.surfaceplant.enduse_option.value == EndUseOptions.HEAT and model.surfaceplant.plant_type.value not in [PlantType.ABSORPTION_CHILLER]: + self.HeatRevenue.value, self.HeatCummRevenue.value = CalculateRevenue( + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + model.surfaceplant.HeatkWhProduced.value, self.HeatPrice.value) + self.TotalRevenue.value = self.HeatRevenue.value.copy() + #self.TotalCummRevenue.value = self.HeatCummRevenue.value + elif model.surfaceplant.enduse_option.value == EndUseOptions.HEAT and model.surfaceplant.plant_type.value in [PlantType.ABSORPTION_CHILLER]: + self.CoolingRevenue.value, self.CoolingCummRevenue.value = CalculateRevenue( + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + model.surfaceplant.cooling_kWh_Produced.value, self.CoolingPrice.value) + self.TotalRevenue.value = self.CoolingRevenue.value.copy() + #self.TotalCummRevenue.value = self.CoolingCummRevenue.value + elif model.surfaceplant.enduse_option.value in [EndUseOptions.COGENERATION_TOPPING_EXTRA_HEAT, + EndUseOptions.COGENERATION_TOPPING_EXTRA_ELECTRICITY, + EndUseOptions.COGENERATION_BOTTOMING_EXTRA_ELECTRICITY, + EndUseOptions.COGENERATION_BOTTOMING_EXTRA_HEAT, + EndUseOptions.COGENERATION_PARALLEL_EXTRA_HEAT, + EndUseOptions.COGENERATION_PARALLEL_EXTRA_ELECTRICITY]: # co-gen + # else: + self.ElecRevenue.value, self.ElecCummRevenue.value = CalculateRevenue( + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + model.surfaceplant.NetkWhProduced.value, self.ElecPrice.value) + self.HeatRevenue.value, self.HeatCummRevenue.value = CalculateRevenue( + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + model.surfaceplant.HeatkWhProduced.value, self.HeatPrice.value) + + for i in range(0, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): + self.TotalRevenue.value[i] = self.ElecRevenue.value[i] + self.HeatRevenue.value[i] + #if i > 0: + # self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i - 1] + self.TotalRevenue.value[i] + + if self.DoCarbonCalculations.value: + self.CarbonRevenue.value, self.CarbonCummCashFlow.value, self.CarbonThatWouldHaveBeenProducedAnnually.value, \ + self.CarbonThatWouldHaveBeenProducedTotal.value = CalculateCarbonRevenue(model, + model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, + self.CarbonPrice.value, self.GridCO2Intensity.value, self.NaturalGasCO2Intensity.value, + model.surfaceplant.NetkWhProduced.value, model.surfaceplant.HeatkWhProduced.value) + for i in range(model.surfaceplant.construction_years.value, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): + self.TotalRevenue.value[i] = self.TotalRevenue.value[i] + self.CarbonRevenue.value[i] + #self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i] + self.CarbonCummCashFlow.value[i] + + # for the sake of display, insert zeros at the beginning of the pricing arrays + for i in range(0, model.surfaceplant.construction_years.value, 1): + self.ElecPrice.value.insert(0, 0.0) + self.HeatPrice.value.insert(0, 0.0) + self.CoolingPrice.value.insert(0, 0.0) + self.CarbonPrice.value.insert(0, 0.0) + + # Insert the cost of construction into the front of the array that will be used to calculate NPV + # the convention is that the upfront CAPEX is negative + # This is the same for all projects + ProjectCAPEXPerConstructionYear = self.CCap.value / model.surfaceplant.construction_years.value + for i in range(0, model.surfaceplant.construction_years.value, 1): + self.TotalRevenue.value[i] = -1.0 * ProjectCAPEXPerConstructionYear + self.TotalCummRevenue.value[i] = -1.0 * ProjectCAPEXPerConstructionYear + # self.TotalRevenue.value, self.TotalCummRevenue.value = CalculateTotalRevenue( + # model.surfaceplant.plant_lifetime.value, model.surfaceplant.construction_years.value, self.CCap.value, + # self.Coam.value, self.TotalRevenue.value, self.TotalCummRevenue.value) + + # Do a one-time calculation that accounts for OPEX - no OPEX in the first year. + for i in range(model.surfaceplant.construction_years.value, + model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): + self.TotalRevenue.value[i] = self.TotalRevenue.value[i] - self.Coam.value + + # Now do a one-time calculation that calculates the cumulative cash flow after everything else has been accounted for + for i in range(1, model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value, 1): + self.TotalCummRevenue.value[i] = self.TotalCummRevenue.value[i-1] + self.TotalRevenue.value[i] + def _calculate_derived_outputs(self, model: Model) -> None: """ Subclasses should call _calculate_derived_outputs at the end of their Calculate methods to populate output @@ -2994,5 +2909,9 @@ def _calculate_derived_outputs(self, model: Model) -> None: / model.wellbores.numnonverticalsections.value ) + if hasattr(self, 'discountrate'): + self.real_discount_rate.value = self.discountrate.quantity().to(convertible_unit( + self.real_discount_rate.CurrentUnits)).magnitude + def __str__(self): return "Economics" diff --git a/src/geophires_x/EconomicsSam.py b/src/geophires_x/EconomicsSam.py new file mode 100644 index 000000000..00e59d149 --- /dev/null +++ b/src/geophires_x/EconomicsSam.py @@ -0,0 +1,370 @@ +from __future__ import annotations + +import json +import os +from dataclasses import dataclass, field +from functools import lru_cache +from math import isnan +from pathlib import Path +from typing import Any + +from decimal import Decimal + +import numpy as np + +# noinspection PyPackageRequirements +from PySAM import CustomGeneration + +# noinspection PyPackageRequirements +from PySAM import Grid + +# noinspection PyPackageRequirements +from PySAM import Singleowner + +# noinspection PyPackageRequirements +import PySAM.Utilityrate5 as UtilityRate +from tabulate import tabulate + +from geophires_x import Model as Model +from geophires_x.EconomicsSamCashFlow import _calculate_sam_economics_cash_flow +from geophires_x.EconomicsUtils import BuildPricingModel, wacc_output_parameter, nominal_discount_rate_parameter +from geophires_x.GeoPHIRESUtils import is_float, is_int +from geophires_x.OptionList import EconomicModel, EndUseOptions +from geophires_x.Parameter import Parameter, OutputParameter, floatParameter +from geophires_x.Units import convertible_unit, EnergyCostUnit, CurrencyUnit, Units, PercentUnit + + +@dataclass +class SamEconomicsCalculations: + sam_cash_flow_profile: list[list[Any]] + + lcoe_nominal: OutputParameter = field( + default_factory=lambda: OutputParameter( + UnitType=Units.ENERGYCOST, + CurrentUnits=EnergyCostUnit.CENTSSPERKWH, + ) + ) + capex: OutputParameter = field( + default_factory=lambda: OutputParameter( + UnitType=Units.CURRENCY, + CurrentUnits=CurrencyUnit.MDOLLARS, + ) + ) + project_npv: OutputParameter = field( + default_factory=lambda: OutputParameter( + UnitType=Units.CURRENCY, + CurrentUnits=CurrencyUnit.MDOLLARS, + ) + ) + project_irr: OutputParameter = field( + default_factory=lambda: OutputParameter( + UnitType=Units.PERCENT, + CurrentUnits=PercentUnit.PERCENT, + ) + ) + + nominal_discount_rate: OutputParameter = field(default_factory=nominal_discount_rate_parameter) + + wacc: OutputParameter = field(default_factory=wacc_output_parameter) + + +def validate_read_parameters(model: Model): + def _inv_msg(param_name: str, invalid_value: Any, supported_description: str) -> str: + return ( + f'Invalid {param_name} ({invalid_value}) for ' + f'{EconomicModel.SAM_SINGLE_OWNER_PPA.name} economic model. ' + f'{EconomicModel.SAM_SINGLE_OWNER_PPA.name} only supports ' + f'{supported_description}.' + ) + + if model.surfaceplant.enduse_option.value != EndUseOptions.ELECTRICITY: + raise ValueError( + _inv_msg( + model.surfaceplant.enduse_option.Name, + model.surfaceplant.enduse_option.value.value, + f'{EndUseOptions.ELECTRICITY.name} End-Use Option', + ) + ) + + if model.surfaceplant.construction_years.value != 1: + raise ValueError( + _inv_msg( + model.surfaceplant.construction_years.Name, + model.surfaceplant.construction_years.value, + f'{model.surfaceplant.construction_years.Name} = 1', + ) + ) + + gtr: floatParameter = model.economics.GTR + if gtr.Provided: + model.logger.warning( + f'{gtr.Name} provided value ({gtr.value}) will be ignored. (SAM Economics tax rates ' + f'are determined from {model.economics.CTR.Name} and {model.economics.PTR.Name}.)' + ) + + eir: floatParameter = model.economics.EIR + if eir.Provided: + model.logger.warning( + f'{eir.Name} provided value ({eir.value}) will be ignored. (SAM Economics does not support {eir.Name}.)' + ) + + +@lru_cache(maxsize=12) +def calculate_sam_economics(model: Model) -> SamEconomicsCalculations: + custom_gen = CustomGeneration.new() + grid = Grid.from_existing(custom_gen) + utility_rate = UtilityRate.from_existing(custom_gen) + single_owner: Singleowner = Singleowner.from_existing(custom_gen) + + project_name = 'Generic_400_MWe' + project_dir = Path(os.path.dirname(model.economics.MyPath), 'sam_economics', project_name) + # noinspection SpellCheckingInspection + file_names = [f'{project_name}_{module}' for module in ['custom_generation', 'grid', 'utilityrate5', 'singleowner']] + modules = [custom_gen, grid, utility_rate, single_owner] + + for module_file, module in zip(file_names, modules): + with open(Path(project_dir, f'{module_file}.json'), encoding='utf-8') as file: + data = json.load(file) + for k, v in data.items(): + if k != 'number_inputs': + module.value(k, v) + + module_param_mappings = [ + ('Custom Generation', _get_custom_gen_parameters, custom_gen), + ('Utility Rate', _get_utility_rate_parameters, utility_rate), + ('Single Owner', _get_single_owner_parameters, single_owner), + ] + + mapping_result: list[list[Any]] = [['SAM Module', 'Parameter', 'Value']] + for mapping in module_param_mappings: + module_name = mapping[0] + module_params: dict[str, Any] = mapping[1](model) + for k, v in module_params.items(): + mapping[2].value(k, v) + mapping_result.append([module_name, k, v]) + + mapping_tabulated = tabulate(mapping_result, **{'floatfmt': ',.2f'}) + mapping_msg = f'SAM Economics Parameter Mapping:\n{mapping_tabulated}' + model.logger.info(mapping_msg) + + for module in modules: + module.execute() + + cash_flow = _calculate_sam_economics_cash_flow(model, single_owner) + + def sf(_v: float) -> float: + return _sig_figs(_v, 5) + + sam_economics: SamEconomicsCalculations = SamEconomicsCalculations(sam_cash_flow_profile=cash_flow) + sam_economics.lcoe_nominal.value = sf(single_owner.Outputs.lcoe_nom) + sam_economics.project_irr.value = sf(single_owner.Outputs.project_return_aftertax_irr) + sam_economics.project_npv.value = sf(single_owner.Outputs.project_return_aftertax_npv * 1e-6) + sam_economics.capex.value = single_owner.Outputs.adjusted_installed_cost * 1e-6 + + sam_economics.nominal_discount_rate.value, sam_economics.wacc.value = _calculate_nominal_discount_rate_and_wacc( + model, single_owner + ) + + return sam_economics + + +def _calculate_nominal_discount_rate_and_wacc(model: Model, single_owner: Singleowner) -> tuple[float]: + """ + Calculation per SAM Help -> Financial Parameters -> Commercial -> Commercial Loan Parameters -> WACC + + :return: tuple of Nominal Discount Rate (%), WACC (%) + """ + + econ = model.economics + nominal_discount_rate_pct = ((1 + econ.discountrate.value) * (1 + econ.RINFL.value) - 1) * 100 + fed_tax_rate = max(single_owner.Outputs.cf_federal_tax_frac) + state_tax_rate = max(single_owner.Outputs.cf_state_tax_frac) + effective_tax_rate = (fed_tax_rate * (1 - state_tax_rate) + state_tax_rate) * 100 + debt_fraction = single_owner.Outputs.debt_fraction / 100 + wacc_pct = ( + nominal_discount_rate_pct / 100 * (1 - debt_fraction) + + debt_fraction * econ.BIR.value * (1 - effective_tax_rate / 100) + ) * 100 + + return nominal_discount_rate_pct, wacc_pct + + +def get_sam_cash_flow_profile_tabulated_output(model: Model, **tabulate_kw_args) -> str: + """ + Note model must have already calculated economics for this to work (used in Outputs) + """ + + # fmt:off + _tabulate_kw_args = { + 'tablefmt': 'tsv', + 'floatfmt': ',.2f', + **tabulate_kw_args + } + + # fmt:on + + def get_entry_display(entry: Any) -> str: + if is_float(entry): + if not isnan(float(entry)): + if not is_int(entry): + # skip decimals for large numbers like SAM does + entry_display = f'{entry:,.2f}' if entry < 1e6 else f'{entry:,.0f}' + else: + entry_display = f'{entry:,}' + return entry_display + return entry + + profile_display = model.economics.sam_economics_calculations.sam_cash_flow_profile.copy() + for i in range(len(profile_display)): + for j in range(len(profile_display[i])): + profile_display[i][j] = get_entry_display(profile_display[i][j]) + + return tabulate(profile_display, **_tabulate_kw_args) + + +def _get_custom_gen_parameters(model: Model) -> dict[str, Any]: + # fmt:off + ret: dict[str, Any] = { + # Project lifetime + 'analysis_period': model.surfaceplant.plant_lifetime.value, + 'user_capacity_factor': _pct(model.surfaceplant.utilization_factor), + } + # fmt:on + + return ret + + +def _get_utility_rate_parameters(m: Model) -> dict[str, Any]: + econ = m.economics + + ret: dict[str, Any] = {} + + ret['inflation_rate'] = econ.RINFL.quantity().to(convertible_unit('%')).magnitude + + max_total_kWh_produced = np.max(m.surfaceplant.TotalkWhProduced.value) + degradation_total = [ + (max_total_kWh_produced - it) / max_total_kWh_produced * 100 for it in m.surfaceplant.NetkWhProduced.value + ] + + ret['degradation'] = degradation_total + + return ret + + +def _get_single_owner_parameters(model: Model) -> dict[str, Any]: + """ + TODO: + - Construction years + - Break out indirect costs (instead of lumping all into direct cost): + https://github.com/NREL/GEOPHIRES-X/issues/383 + """ + econ = model.economics + + # noinspection PyDictCreation + ret: dict[str, Any] = {} + + ret['analysis_period'] = model.surfaceplant.plant_lifetime.value + + itc = econ.RITCValue.quantity() + total_capex = econ.CCap.quantity() + itc + + # 'Inflation Rate During Construction' + construction_additional_cost = econ.inflrateconstruction.value * total_capex + + ret['total_installed_cost'] = (total_capex + construction_additional_cost).to('USD').magnitude + + opex_musd = econ.Coam.value + ret['om_fixed'] = [opex_musd * 1e6] + # GEOPHIRES assumes O&M fixed costs are not affected by inflation + ret['om_fixed_escal'] = -1.0 * _pct(econ.RINFL) + + # Note generation profile is generated relative to the max in _get_utility_rate_parameters + ret['system_capacity'] = _get_max_total_generation_kW(model) + + ret['federal_tax_rate'], ret['state_tax_rate'] = _get_fed_and_state_tax_rates(econ.CTR.value) + + geophires_itc_tenths = Decimal(econ.RITC.value) + ret['itc_fed_percent'] = [float(geophires_itc_tenths * Decimal(100))] + + if econ.PTCElec.Provided: + ret['ptc_fed_amount'] = [econ.PTCElec.quantity().to(convertible_unit('USD/kWh')).magnitude] + ret['ptc_fed_term'] = econ.PTCDuration.quantity().to(convertible_unit('yr')).magnitude + + if econ.PTCInflationAdjusted.value: + ret['ptc_fed_escal'] = _pct(econ.RINFL) + + # 'Property Tax Rate' + geophires_ptr_tenths = Decimal(econ.PTR.value) + ret['property_tax_rate'] = float(geophires_ptr_tenths * Decimal(100)) + + ret['ppa_price_input'] = _ppa_pricing_model( + model.surfaceplant.plant_lifetime.value, + econ.ElecStartPrice.value, + econ.ElecEndPrice.value, + econ.ElecEscalationStart.value, + econ.ElecEscalationRate.value, + ) + + # Debt/equity ratio ('Fraction of Investment in Bonds' parameter) + ret['debt_percent'] = _pct(econ.FIB) + + # Interest rate + ret['real_discount_rate'] = _pct(econ.discountrate) + + # Project lifetime + ret['term_tenor'] = model.surfaceplant.plant_lifetime.value + ret['term_int_rate'] = _pct(econ.BIR) + + ret['ibi_oth_amount'] = (econ.OtherIncentives.quantity() + econ.TotalGrant.quantity()).to('USD').magnitude + + return ret + + +def _get_fed_and_state_tax_rates(geophires_ctr_tenths: float) -> tuple[list[float]]: + geophires_ctr_tenths = Decimal(geophires_ctr_tenths) + max_fed_rate_tenths = Decimal(0.21) + fed_rate_tenths = min(geophires_ctr_tenths, max_fed_rate_tenths) + + state_rate_tenths = max(0, geophires_ctr_tenths - fed_rate_tenths) + + def ret_val(val_tenths: Decimal) -> list[float]: + return [round(float(val_tenths * Decimal(100)), 2)] + + return ret_val(fed_rate_tenths), ret_val(state_rate_tenths) + + +def _pct(econ_value: Parameter) -> float: + return econ_value.quantity().to(convertible_unit('%')).magnitude + + +def _ppa_pricing_model( + plant_lifetime: int, start_price: float, end_price: float, escalation_start_year: int, escalation_rate: float +) -> list: + # See relevant comment in geophires_x.EconomicsUtils.BuildPricingModel re: + # https://github.com/NREL/GEOPHIRES-X/issues/340?title=Price+Escalation+Start+Year+seemingly+off+by+1. + # We use the same utility method here for the sake of consistency despite technical incorrectness. + return BuildPricingModel( + plant_lifetime, start_price, end_price, escalation_start_year, escalation_rate, [0] * plant_lifetime + ) + + +def _get_max_total_generation_kW(model: Model) -> float: + return np.max(model.surfaceplant.ElectricityProduced.quantity().to(convertible_unit('kW')).magnitude) + + +def _sig_figs(val: float | list | tuple, num_sig_figs: int) -> float: + """ + TODO move to utilities, probably + """ + + if val is None: + return None + + if isinstance(val, list) or isinstance(val, tuple): + return [_sig_figs(v, num_sig_figs) for v in val] + + try: + return float('%s' % float(f'%.{num_sig_figs}g' % val)) # pylint: disable=consider-using-f-string + except TypeError: + # TODO warn + return val diff --git a/src/geophires_x/EconomicsSamCashFlow.py b/src/geophires_x/EconomicsSamCashFlow.py new file mode 100644 index 000000000..efe2492cb --- /dev/null +++ b/src/geophires_x/EconomicsSamCashFlow.py @@ -0,0 +1,326 @@ +from __future__ import annotations + +import csv +import json +import logging +import os +import re +import sys +import math +from functools import lru_cache +from typing import Any + +from PySAM import Singleowner + +import geophires_x.Model as Model + + +@lru_cache(maxsize=12) +def _calculate_sam_economics_cash_flow(model: Model, single_owner: Singleowner) -> list[list[Any]]: + log = model.logger + + _soo = single_owner.Outputs + + profile = [] + total_duration = model.surfaceplant.plant_lifetime.value + model.surfaceplant.construction_years.value + + # Prefix with 'Year ' partially as workaround for tabulate applying float formatting to ints, possibly related + # to https://github.com/astanin/python-tabulate/issues/18 + years = [f'Year {y}' for y in list(range(0, total_duration))] + + row_1 = [None] + years + profile.append(row_1) + + def blank_row() -> None: + profile.append([None] * (len(years) + 1)) + + def category_row(cat_name: str) -> list[Any]: + cr = [cat_name] + [None] * len(years) + profile.append(cr) + return cr + + def designator_row(designator: str): + dsr = [designator] + [None] * len(years) + profile.append(dsr) + + def get_data_adjust_func(row_name: str): + def rnd(x): + return round(x, 2) + + if row_name.endswith('($)'): + + def rnd(x): # Note this is a redefinition/reassignment of rnd - SAM doesn't show cents + return round(x) + + def adj(x_): + if isinstance(x_, str): + return x_ + else: + if math.isnan(x_): + return 'NaN' + + return rnd(x_) + + return adj + + def data_row(row_name: str, output_data: Any | None = None) -> list[Any]: + if output_data is None: + output_data = _get_single_owner_output(_soo, row_name) + + if output_data is None: + if row_name not in _SINGLE_OWNER_OUTPUT_PROPERTIES_TO_SKIP: + log.warning(f'No output data for {row_name}') + + # Skip ambiguous mapping (for now) + # output_data = ['undefined'] * len(years) + return None + + adjust = get_data_adjust_func(row_name) + + dr = [row_name] + [adjust(d) for d in output_data] # TODO revisit this to audit for precision concerns + profile.append(dr) + return dr + + def single_value_row(row_name: str, single_value: float | None = None) -> list[Any]: + if single_value is None: + single_value = _get_single_owner_output(_soo, row_name) + + if single_value is None: + if row_name not in _SINGLE_OWNER_OUTPUT_PROPERTIES_TO_SKIP: + log.warning(f'No output data for {row_name}') + + # Skip ambiguous mapping (for now) + # single_value = 'undefined' + return None + + svr = ( + [row_name] + [get_data_adjust_func(row_name)(single_value)] + [None] * (len(years) - 1) + ) # TODO revisit this to audit for precision concerns + profile.append(svr) + return svr + + with open(_get_file_path('sam_economics/sam-cash-flow-table.csv'), encoding='utf-8') as f: + cft_reader = csv.reader(f) + + lines = [] + for _line in cft_reader: + lines.append(_line) + + lines = lines[1:] # exclude header row + + def is_empty_line(_entries: list[Any]) -> bool: + return all(it in ['', None] for it in _entries) + + for line in lines: + if is_empty_line(line): + blank_row() + continue + + line_entries = line + row_label = line_entries[0] + + # Some row labels have seemingly-erroneous extra spaces e.g. `Reserves debt service disbursement ($)` + row_label = re.sub(r'\s+', ' ', row_label) + + if row_label == '': + blank_row() + continue + + if _is_designator_row_label(row_label): + designator_row(row_label) + continue + + if _is_category_row_label(row_label): + category_row(row_label) + continue + + if is_empty_line(line_entries[3:]): + single_value_row(row_label) + else: + data_row(row_label) + + if all([it is None for it in profile[-1]]): + profile = profile[:-1] # trim last line if blank + + return _clean_profile(profile) + + +def _is_category_row_label(row_label: str) -> bool: + return re.match(r'^([A-Z \(\)\-\:]+)$', row_label) or re.match(r'^([A-Z][A-Za-z \-]+\:)$', row_label) + + +def _is_designator_row_label(row_label: str) -> bool: + return row_label == 'plus PBI if not available for debt service:' or re.match(r'^[a-z]+:$', row_label) is not None + + +def _clean_profile(profile: list[list[Any]]) -> list[list[Any]]: + # Collapse consecutive blank rows + previous_line_was_blank = False + profile_cleaned = [] + for pl in profile: + is_blank = all(it is None for it in pl) + if not (is_blank and previous_line_was_blank): + profile_cleaned.append(pl) + previous_line_was_blank = is_blank + + return profile_cleaned + + +# fmt:off +_SINGLE_OWNER_OUTPUT_PROPERTIES_ADDITIONAL = { + "Debt closing costs ($)": "cost_financing", + 'Total installed cost ($)': lambda _soo: -1.0 * _soo.cost_installed, +} # fmt:on + + +def _get_logger(): + level = logging.INFO if not _enable_geophires_dev_debugging() else logging.DEBUG + sh = logging.StreamHandler(sys.stdout) + sh.setLevel(level) + sh.setFormatter(logging.Formatter(fmt='[%(asctime)s][%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')) + _l = logging.getLogger(__name__) + _l.setLevel(level) + _l.addHandler(sh) + return _l + + +def _enable_geophires_dev_debugging() -> bool: + def _get_env_var_boolean(env_var: str) -> bool: + return os.getenv(env_var, 'False').lower() in ('true', '1', 't') + + return _get_env_var_boolean('ENABLE_GEOPHIRES_DEV_DEBUGGING') + + +_log = _get_logger() + + +def _get_file_path(file_name) -> str: + return os.path.join(os.path.abspath(os.path.dirname(__file__)), file_name) + + +def _build_single_owner_output_properties(): + with open(_get_file_path('sam_economics/sam-output-properties.json'), encoding='utf-8') as f: + sop = json.load(f) + + sop = {**sop, **_SINGLE_OWNER_OUTPUT_PROPERTIES_ADDITIONAL} + + with open( + _get_file_path('sam_economics/Generic_400_MWe/Generic_400_MWe_singleowner.json'), encoding='utf-8' + ) as gso: + reserves_interest_input_value = json.load(gso)['reserves_interest'] + sop['Interest on reserves (%/year)'] = lambda _soo: reserves_interest_input_value + + return sop + + +_SINGLE_OWNER_OUTPUT_PROPERTIES = _build_single_owner_output_properties() + +# fmt:off +_SINGLE_OWNER_OUTPUT_PROPERTIES_TO_SKIP = [ + # Calculated by SAM UI in Financial Parameters -> Construction Financing and added to total installed cost. + # GEOPHIRES does not model construction financing this way (yet), so we skip for now. + 'Total construction financing cost ($)', + + # TODO: unclear what this is derived from + 'Other financing cost ($)' +] # fmt:on + + +def _get_single_owner_output(soo: Any, display_name: str) -> Any: + """ " + :param soo: single_owner.Outputs + :type soo: `PySAM.Singleowner.Outputs` + """ + + if display_name not in _SINGLE_OWNER_OUTPUT_PROPERTIES: + if display_name in _SINGLE_OWNER_OUTPUT_PROPERTIES_TO_SKIP: + return None + + ld = 'SAM Cash Flow Output property' + _log.warning(f'{ld} not found for "{display_name}"') + if _enable_geophires_dev_debugging(): + _show_unknown_single_owner_output_suggestions(soo, display_name, ld) + + return None + + prop = _SINGLE_OWNER_OUTPUT_PROPERTIES[display_name] + + if callable(prop): + return prop(soo) + + return getattr(soo, prop) + + +def _show_unknown_single_owner_output_suggestions(soo: Any, display_name: str, ld: str) -> None: + def ga(_p): + # noinspection PyBroadException + try: + return getattr(soo, _p) + except Exception: + return None + + def _search_props(s: str) -> list[Any]: + """ + Utility function to search output properties (useful in IDE debugger) + """ + + return [(p, ga(p)) for p in dir(soo) if s in p] + + # noinspection PyUnusedLocal + def _search_prop_vals(v: Any) -> list[Any]: + """ + Utility function to search output properties (useful in IDE debugger) + """ + + def val_match(ga_p: Any) -> bool: + # noinspection PyBroadException + try: + return v == ga_p or v == abs(ga_p) or abs(v) in [abs(x) for x in ga_p] + except Exception: + return False + + return [(p, ga(p)) for p in dir(soo) if val_match(ga(p))] + + # noinspection PyBroadException + try: + # _log.warning(f'{ld} not found for "{display_name}"') + + def show_suggestions(search_string: str): + if search_string is None or search_string == '': + _log.debug(f'No {ld} suggestions for "{display_name}" found') + return + + suggest = [ + (display_name, it[0], ga(it[0])) + for it in _search_props(search_string) + if not it[0].startswith('__') + ] + + def data_preview(sg_2): + if not isinstance(sg_2, list) and not isinstance(sg_2, tuple): + return sg_2 + + idx = min(10, len(sg_2)) + idx = min(idx, len(sg_2)) + preview = tuple(sg_2[:idx]) + if idx < len(sg_2): + preview += ('...',) + return preview + + suggest_display = "\n\t".join([f"'{sg[1]}',\n\t\t{data_preview(sg[2])}" for sg in suggest]) + if len(suggest) > 0: + _log.debug(f'{ld} suggestions for \n\'{display_name}\': \n\t{suggest_display}') + else: + _log.debug(f'No {ld} suggestions for "{display_name}" found') + # In IDE debugger, try: + # show_suggestions(display_name.lower().split(' ')[1]) + # etc. + return suggest + + try: + show_suggestions(next(it for it in display_name.lower().split(' ') if it.lower() != 'total')) + except StopIteration: + _log.debug(f'No {ld} suggestions for "{display_name}" found') + + except Exception as e: + _log.debug(f'Encountered exception attempting to generate suggestions for {ld} for "{display_name}": {e}"') diff --git a/src/geophires_x/EconomicsUtils.py b/src/geophires_x/EconomicsUtils.py new file mode 100644 index 000000000..a1804e86d --- /dev/null +++ b/src/geophires_x/EconomicsUtils.py @@ -0,0 +1,76 @@ +from __future__ import annotations + +from geophires_x.Parameter import OutputParameter +from geophires_x.Units import Units, PercentUnit + + +def BuildPricingModel(plantlifetime: int, StartPrice: float, EndPrice: float, + EscalationStartYear: int, EscalationRate: float, PTCAddition: list) -> list: + """ + BuildPricingModel builds the price model array for the project lifetime. It is used to calculate the revenue + stream for the project. + :param plantlifetime: The lifetime of the project in years + :type plantlifetime: int + :param StartPrice: The price in the first year of the project in $/kWh + :type StartPrice: float + :param EndPrice: The price in the last year of the project in $/kWh + :type EndPrice: float + :param EscalationStartYear: The year the price escalation starts in years (not including construction years) in years + :type EscalationStartYear: int + :param EscalationRate: The rate of price escalation in $/kWh/year + :type EscalationRate: float + :param PTCAddition: The PTC addition array for the project in $/kWh + :type PTCAddition: list + :return: Price: The price model array for the project in $/kWh + :rtype: list + """ + Price = [0.0] * plantlifetime + for i in range(0, plantlifetime, 1): + Price[i] = StartPrice + if i >= EscalationStartYear: + # TODO: This is arguably an unwanted/incorrect interpretation of escalation start year, see + # https://github.com/NREL/GEOPHIRES-X/issues/340?title=Price+Escalation+Start+Year+seemingly+off+by+1 + Price[i] = Price[i] + ((i - EscalationStartYear) * EscalationRate) + if Price[i] > EndPrice: + Price[i] = EndPrice + Price[i] = Price[i] + PTCAddition[i] + return Price + + +def real_discount_rate_parameter() -> OutputParameter: + return OutputParameter( + Name="Real Discount Rate", + UnitType=Units.PERCENT, + CurrentUnits=PercentUnit.PERCENT, + PreferredUnits=PercentUnit.PERCENT, + ) + + +def nominal_discount_rate_parameter() -> OutputParameter: + return OutputParameter( + Name="Nominal Discount Rate", + ToolTipText="Nominal Discount Rate is displayed for SAM Economic Models. " + "It is calculated according to the following formula, defined in SAM Help documentation: " + "Nominal Discount Rate = [ ( 1 + Real Discount Rate ÷ 100 ) " + "× ( 1 + Inflation Rate ÷ 100 ) - 1 ] × 100.", + UnitType=Units.PERCENT, + CurrentUnits=PercentUnit.PERCENT, + PreferredUnits=PercentUnit.PERCENT, + ) + + +def wacc_output_parameter() -> OutputParameter: + return OutputParameter( + Name='WACC', + ToolTipText='Weighted Average Cost of Capital displayed for SAM Economic Models. ' + 'It is calculated according to the following formula, defined in SAM Help documentation: ' + 'WACC = [ Nominal Discount Rate ÷ 100 × (1 - Debt Percent ÷ 100) ' + '+ Debt Percent ÷ 100 × Loan Rate ÷ 100 × (1 - Effective Tax Rate ÷ 100 ) ] × 100; ' + 'Effective Tax Rate = [ Federal Tax Rate ÷ 100 × ( 1 - State Tax Rate ÷ 100 ) ' + '+ State Tax Rate ÷ 100 ] × 100; ' + 'Nominal Discount Rate = [ ( 1 + Real Discount Rate ÷ 100 ) × ( 1 + Inflation Rate ÷ 100 ) - 1 ] ' + '× 100. ', + UnitType=Units.PERCENT, + CurrentUnits=PercentUnit.PERCENT, + PreferredUnits=PercentUnit.PERCENT, + ) diff --git a/src/geophires_x/GEOPHIRESv3.py b/src/geophires_x/GEOPHIRESv3.py index 3f22f8e56..6583e73ef 100644 --- a/src/geophires_x/GEOPHIRESv3.py +++ b/src/geophires_x/GEOPHIRESv3.py @@ -19,7 +19,7 @@ def main(enable_geophires_logging_config=True): logging will be configured in the Model class. :return: None """ - original_cwd:Path = Path.cwd().absolute() + original_cwd: Path = Path.cwd().absolute() # set the starting directory to be the directory that this file is in os.chdir(os.path.dirname(os.path.abspath(__file__))) @@ -49,18 +49,25 @@ def main(enable_geophires_logging_config=True): jsons.suppress_warnings(True) json_resrv = jsons.dumps(model.reserv.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True) json_wells = jsons.dumps(model.wellbores.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True) - json_surfaceplant = jsons.dumps(model.surfaceplant.OutputParameterDict, indent=4, sort_keys=True, - supress_warnings=True) + json_surfaceplant = jsons.dumps( + model.surfaceplant.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True + ) json_economics = jsons.dumps(model.economics.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True) - json_merged = {**json.loads(json_resrv), **json.loads(json_wells), **json.loads(json_economics), - **json.loads(json_surfaceplant)} + json_merged = { + **json.loads(json_resrv), + **json.loads(json_wells), + **json.loads(json_economics), + **json.loads(json_surfaceplant), + } if model.economics.DoAddOnCalculations.value: - json_addons = jsons.dumps(model.addeconomics.OutputParameterDict, indent=4, sort_keys=True, - supress_warnings=True) + json_addons = jsons.dumps( + model.addeconomics.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True + ) json_merged = {**json_merged, **json.loads(json_addons)} if model.economics.DoSDACGTCalculations.value: - json_sdacgt = jsons.dumps(model.sdacgteconomics.OutputParameterDict, indent=4, sort_keys=True, - supress_warnings=True) + json_sdacgt = jsons.dumps( + model.sdacgteconomics.OutputParameterDict, indent=4, sort_keys=True, supress_warnings=True + ) json_merged = {**json_merged, **json.loads(json_sdacgt)} json_outputfile = Path(original_cwd, 'HDR.json') diff --git a/src/geophires_x/GeoPHIRESUtils.py b/src/geophires_x/GeoPHIRESUtils.py index 49678b4fa..e8328d8a9 100644 --- a/src/geophires_x/GeoPHIRESUtils.py +++ b/src/geophires_x/GeoPHIRESUtils.py @@ -620,3 +620,25 @@ def static_pressure_MPa(rho_kg_per_m3: float, depth_m: float) -> float: pressure_mpa = quantity(pressure_Pa, 'Pa').to('MPa').magnitude return pressure_mpa + + +def is_int(o: Any) -> bool: + try: + float_n = float(o) + int_n = int(float_n) + except ValueError: + return False + else: + return float_n == int_n + + +def is_float(o: Any) -> bool: + try: + float(o) + except ValueError: + return False + except TypeError: + return False + else: + return True + diff --git a/src/geophires_x/MatplotlibUtils.py b/src/geophires_x/MatplotlibUtils.py index e0edc67aa..54e3eace9 100644 --- a/src/geophires_x/MatplotlibUtils.py +++ b/src/geophires_x/MatplotlibUtils.py @@ -1,5 +1,8 @@ """ Workarounds for intermittent Windows GitHub Actions failures - see https://github.com/NREL/GEOPHIRES-X/issues/365 + +TODO fix the actual Tcl/Tk installation issue (perhaps using suggestions from i.e. +https://stackoverflow.com/questions/29320039/trying-to-use-tkinter-throws-tcl-error-cant-find-a-usable-init-tcl) """ from __future__ import annotations @@ -34,6 +37,13 @@ def plt_subplots(**kw_args) -> Any: _handle_tcl_error_on_windows_github_actions(e) +def plt_figure(*args, **kw_args) -> Any: + try: + return plt.figure(*args, **kw_args) + except Exception as e: + _handle_tcl_error_on_windows_github_actions(e) + + def _handle_tcl_error_on_windows_github_actions(e) -> None: # Can't import TclError directly since Python is not configured for Tk on all systems tcl_error_name = 'TclError' diff --git a/src/geophires_x/OptionList.py b/src/geophires_x/OptionList.py index 48f68807e..3ea53f0e7 100644 --- a/src/geophires_x/OptionList.py +++ b/src/geophires_x/OptionList.py @@ -89,6 +89,7 @@ class EconomicModel(GeophiresInputEnum): STANDARDIZED_LEVELIZED_COST = 2, "Standard Levelized Cost" BICYCLE = 3, "BICYCLE" CLGS = 4, "Simple (CLGS)" + SAM_SINGLE_OWNER_PPA = 5, "SAM Single Owner PPA" @staticmethod def from_int(int_val): diff --git a/src/geophires_x/Outputs.py b/src/geophires_x/Outputs.py index 70a955b39..08c50e133 100644 --- a/src/geophires_x/Outputs.py +++ b/src/geophires_x/Outputs.py @@ -3,11 +3,13 @@ import sys from pathlib import Path +# noinspection PyPackageRequirements import numpy as np import geophires_x import geophires_x.Model as Model from geophires_x.Economics import Economics +from geophires_x.EconomicsSam import get_sam_cash_flow_profile_tabulated_output from geophires_x.OutputsRich import print_outputs_rich from geophires_x.Parameter import ConvertUnitsBack, ConvertOutputUnits, LookupUnits, strParameter, boolParameter, \ OutputParameter, ReadParameter @@ -244,11 +246,27 @@ def PrintOutputs(self, model: Model): f.write(f' Fixed Charge Rate (FCR): {model.economics.FCR.value*100.0:10.2f} {model.economics.FCR.CurrentUnits.value}\n') elif model.economics.econmodel.value == EconomicModel.STANDARDIZED_LEVELIZED_COST: f.write(f' Economic Model = {model.economics.econmodel.value.value}\n') + # TODO disambiguate interest rate for all economic models - see + # https://github.com/softwareengineerprogrammer/GEOPHIRES/commit/535c02d4adbeeeca553b61e9b996fccf00016529 f.write(f' {model.economics.interest_rate.Name}: {model.economics.interest_rate.value:10.2f} {model.economics.interest_rate.CurrentUnits.value}\n') - elif model.economics.econmodel.value == EconomicModel.BICYCLE: + elif model.economics.econmodel.value in (EconomicModel.BICYCLE, EconomicModel.SAM_SINGLE_OWNER_PPA): f.write(f' Economic Model = {model.economics.econmodel.value.value}\n') + + if model.economics.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + sam_econ_fields: list[OutputParameter] = [ + econ.real_discount_rate, + econ.nominal_discount_rate, + econ.wacc, + ] + + for field in sam_econ_fields: + label = Outputs._field_label(field.Name, 49) + f.write(f' {label}{field.value:10.2f} {field.CurrentUnits.value}\n') + + # FIXME TODO unit is missing https://github.com/NREL/GEOPHIRES-X/issues/382 f.write(f' Accrued financing during construction: {model.economics.inflrateconstruction.value*100:10.2f} {model.economics.inflrateconstruction.CurrentUnits.value}\n') + f.write(f' Project lifetime: {model.surfaceplant.plant_lifetime.value:10.0f} {model.surfaceplant.plant_lifetime.CurrentUnits.value}\n') f.write(f' Capacity factor: {model.surfaceplant.utilization_factor.value * 100:10.1f} %\n') @@ -257,14 +275,19 @@ def PrintOutputs(self, model: Model): # TODO should use CurrentUnits instead of PreferredUnits f.write(f' {npv_field_label}{e_npv.value:10.2f} {e_npv.PreferredUnits.value}\n') - f.write(f' {model.economics.ProjectIRR.display_name}: {model.economics.ProjectIRR.value:10.2f} {model.economics.ProjectIRR.PreferredUnits.value}\n') - f.write(f' {model.economics.ProjectVIR.display_name}: {model.economics.ProjectVIR.value:10.2f}\n') - f.write(f' {model.economics.ProjectMOIC.Name}: {model.economics.ProjectMOIC.value:10.2f}\n') + f.write(f' {econ.ProjectIRR.display_name}: {econ.ProjectIRR.value:10.2f} {econ.ProjectIRR.PreferredUnits.value}\n') + + if econ.econmodel.value != EconomicModel.SAM_SINGLE_OWNER_PPA: + # VIR, MOIC, and Payback period not currently supported by SAM economic model(s) - payback_period_val = model.economics.ProjectPaybackPeriod.value - project_payback_period_display = f'{payback_period_val:10.2f} {model.economics.ProjectPaybackPeriod.PreferredUnits.value}' \ - if payback_period_val > 0.0 else 'N/A' - f.write(f' Project Payback Period: {project_payback_period_display}\n') + f.write(f' {econ.ProjectVIR.display_name}: {econ.ProjectVIR.value:10.2f}\n') + f.write(f' {econ.ProjectMOIC.display_name}: {econ.ProjectMOIC.value:10.2f}\n') + + payback_period_val = model.economics.ProjectPaybackPeriod.value + project_payback_period_display = f'{payback_period_val:10.2f} {econ.ProjectPaybackPeriod.PreferredUnits.value}' \ + if payback_period_val > 0.0 else 'N/A' + project_payback_period_label = Outputs._field_label(model.economics.ProjectPaybackPeriod.display_name, 56) + f.write(f' {project_payback_period_label}{project_payback_period_display}\n') if model.surfaceplant.enduse_option.value in [EndUseOptions.COGENERATION_TOPPING_EXTRA_HEAT, EndUseOptions.COGENERATION_BOTTOMING_EXTRA_HEAT, @@ -675,51 +698,11 @@ def PrintOutputs(self, model: Model): model.surfaceplant.RemainingReservoirHeatContent.value[i], (model.reserv.InitialReservoirHeatContent.value-model.surfaceplant.RemainingReservoirHeatContent.value[i])*100/model.reserv.InitialReservoirHeatContent.value)+NL) - f.write(NL) - f.write(NL) - f.write(' ********************************\n') - f.write(' * REVENUE & CASHFLOW PROFILE *\n') - f.write(' ********************************\n') - f.write( - 'Year Electricity | Heat | Cooling | Carbon | Project' + NL) - f.write( - 'Since Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | OPEX Net Rev. Net Cashflow' + NL) - - def o(output_param: OutputParameter): - # TODO generalize this and/or FIXME make it unnecessary - if output_param.Name in econ.OutputParameterDict: - return econ.OutputParameterDict[output_param.Name] - else: - return output_param - - f.write('Start (' - + o(econ.ElecPrice).CurrentUnits.value + - ')(' + o(econ.ElecRevenue).CurrentUnits.value + - ') (' + o(econ.ElecCummRevenue).CurrentUnits.value + - ') |(' + o(econ.HeatPrice).CurrentUnits.value + - ') (' + o(econ.HeatRevenue).CurrentUnits.value + - ') (' + o(econ.HeatCummRevenue).CurrentUnits.value + - ') |(' + o(econ.CoolingPrice).CurrentUnits.value + - ') (' + o(econ.CoolingRevenue).CurrentUnits.value + - ') (' + o(econ.CoolingCummRevenue).CurrentUnits.value + - ') |(' + o(econ.CarbonPrice).CurrentUnits.value + - ') (' + o(econ.CarbonRevenue).CurrentUnits.value + - ') (' + o(econ.CarbonCummCashFlow).CurrentUnits.value + - ') |(' + o(econ.Coam).CurrentUnits.value + - ') (' + o(econ.TotalRevenue).CurrentUnits.value + - ') (' + o(econ.TotalCummRevenue).CurrentUnits.value + ')\n') - f.write( - '________________________________________________________________________________________________________________________________________________________________________________________' + NL) - # running years... - for ii in range(0, ( - model.surfaceplant.construction_years.value + model.surfaceplant.plant_lifetime.value), 1): - if ii < model.surfaceplant.construction_years.value: - opex = 0.0 # zero out the OPEX during construction years - else: - opex = o(econ.Coam).value - f.write( - f'{ii:3.0f} {o(econ.ElecPrice).value[ii]:5.2f} {o(econ.ElecRevenue).value[ii]:5.2f} {o(econ.ElecCummRevenue).value[ii]:5.2f} | {o(econ.HeatPrice).value[ii]:5.2f} {o(econ.HeatRevenue).value[ii]:5.2f} {o(econ.HeatCummRevenue).value[ii]:5.2f} | {o(econ.CoolingPrice).value[ii]:5.2f} {o(econ.CoolingRevenue).value[ii]:5.2f} {o(econ.CoolingCummRevenue).value[ii]:5.2f} | {o(econ.CarbonPrice).value[ii]:5.2f} {o(econ.CarbonRevenue).value[ii]:5.2f} {o(econ.CarbonCummCashFlow).value[ii]:5.2f} | {opex:5.2f} {o(econ.TotalRevenue).value[ii]:5.2f} {o(econ.TotalCummRevenue).value[ii]:5.2f}\n') - f.write(NL) + if econ.econmodel.value != EconomicModel.SAM_SINGLE_OWNER_PPA: + self.write_revenue_and_cashflow_profile_output(model, f) + + if econ.econmodel.value == EconomicModel.SAM_SINGLE_OWNER_PPA: + f.write(self.get_sam_cash_flow_profile_output(model)) # if we are dealing with overpressure and two different reservoirs, show a table reporting the values if model.wellbores.overpressure_percentage.Provided: @@ -729,14 +712,19 @@ def o(output_param: OutputParameter): f.write(' ***************************************\n') f.write(' YEAR PROD PUMP INJECT PUMP TOTAL PUMP\n') f.write(' POWER POWER POWER\n') - f.write(' (' + model.wellbores.PumpingPowerProd.CurrentUnits.value+') (' + model.wellbores.PumpingPowerInj.CurrentUnits.value + ') (' + model.surfaceplant.NetElectricityProduced.CurrentUnits.value + ') \n') + f.write( + ' (' + model.wellbores.PumpingPowerProd.CurrentUnits.value + ') (' + model.wellbores.PumpingPowerInj.CurrentUnits.value + ') (' + model.surfaceplant.NetElectricityProduced.CurrentUnits.value + ') \n') for i in range(0, model.surfaceplant.plant_lifetime.value): - f.write(' {0:2.0f} {1:8.4f} {2:8.4f} {3:8.4f}'.format(i+1, - model.wellbores.PumpingPowerProd.value[i*model.economics.timestepsperyear.value], - model.wellbores.PumpingPowerInj.value[i*model.economics.timestepsperyear.value], - model.wellbores.PumpingPower.value[i*model.economics.timestepsperyear.value])) + f.write(' {0:2.0f} {1:8.4f} {2:8.4f} {3:8.4f}'.format(i + 1, + model.wellbores.PumpingPowerProd.value[ + i * model.economics.timestepsperyear.value], + model.wellbores.PumpingPowerInj.value[ + i * model.economics.timestepsperyear.value], + model.wellbores.PumpingPower.value[ + i * model.economics.timestepsperyear.value])) f.write(NL) - f.write(NL)\ + f.write(NL) + except BaseException as ex: tb = sys.exc_info()[2] @@ -751,9 +739,83 @@ def o(output_param: OutputParameter): model.logger.info(f'Complete {__class__!s}: {sys._getframe().f_code.co_name}') + # noinspection PyMethodMayBeStatic + def write_revenue_and_cashflow_profile_output(self, model, f): + econ: Economics = model.economics + + f.write(NL) + f.write(NL) + f.write(' ********************************\n') + f.write(' * REVENUE & CASHFLOW PROFILE *\n') + f.write(' ********************************\n') + f.write( + 'Year Electricity | Heat | Cooling | Carbon | Project' + NL) + f.write( + 'Since Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | Price Ann. Rev. Cumm. Rev. | OPEX Net Rev. Net Cashflow' + NL) + + def o(output_param: OutputParameter): + # TODO generalize this and/or FIXME make it unnecessary + if output_param.Name in econ.OutputParameterDict: + return econ.OutputParameterDict[output_param.Name] + else: + return output_param + + f.write('Start (' + + o(econ.ElecPrice).CurrentUnits.value + + ')(' + o(econ.ElecRevenue).CurrentUnits.value + + ') (' + o(econ.ElecCummRevenue).CurrentUnits.value + + ') |(' + o(econ.HeatPrice).CurrentUnits.value + + ') (' + o(econ.HeatRevenue).CurrentUnits.value + + ') (' + o(econ.HeatCummRevenue).CurrentUnits.value + + ') |(' + o(econ.CoolingPrice).CurrentUnits.value + + ') (' + o(econ.CoolingRevenue).CurrentUnits.value + + ') (' + o(econ.CoolingCummRevenue).CurrentUnits.value + + ') |(' + o(econ.CarbonPrice).CurrentUnits.value + + ') (' + o(econ.CarbonRevenue).CurrentUnits.value + + ') (' + o(econ.CarbonCummCashFlow).CurrentUnits.value + + ') |(' + o(econ.Coam).CurrentUnits.value + + ') (' + o(econ.TotalRevenue).CurrentUnits.value + + ') (' + o(econ.TotalCummRevenue).CurrentUnits.value + ')\n') + f.write( + '________________________________________________________________________________________________________________________________________________________________________________________' + NL) + # running years... + for ii in range(0, ( + model.surfaceplant.construction_years.value + model.surfaceplant.plant_lifetime.value), 1): + if ii < model.surfaceplant.construction_years.value: + opex = 0.0 # zero out the OPEX during construction years + else: + opex = o(econ.Coam).value + f.write( + f'{ii:3.0f} {o(econ.ElecPrice).value[ii]:5.2f} {o(econ.ElecRevenue).value[ii]:5.2f} {o(econ.ElecCummRevenue).value[ii]:5.2f} | {o(econ.HeatPrice).value[ii]:5.2f} {o(econ.HeatRevenue).value[ii]:5.2f} {o(econ.HeatCummRevenue).value[ii]:5.2f} | {o(econ.CoolingPrice).value[ii]:5.2f} {o(econ.CoolingRevenue).value[ii]:5.2f} {o(econ.CoolingCummRevenue).value[ii]:5.2f} | {o(econ.CarbonPrice).value[ii]:5.2f} {o(econ.CarbonRevenue).value[ii]:5.2f} {o(econ.CarbonCummCashFlow).value[ii]:5.2f} | {opex:5.2f} {o(econ.TotalRevenue).value[ii]:5.2f} {o(econ.TotalCummRevenue).value[ii]:5.2f}\n') + f.write(NL) + + # noinspection PyMethodMayBeStatic + def get_sam_cash_flow_profile_output(self, model): + ret = '\n' + ret += ' ***************************\n' + ret += ' * SAM CASH FLOW PROFILE *\n' + ret += ' ***************************\n' + + cfp_o: str = get_sam_cash_flow_profile_tabulated_output(model) + + # Ideally the separator line would be exactly the print width of the widest column, but the actual print width + # of tabs varies (at least according to https://stackoverflow.com/a/7643592). 4 spaces seems to be the minimum + # number that results in a separator line at least as wide as the table (narrower would be unsightly). + spaces_per_tab = 4 + + # The tabluate library has native separating line functionality (per https://pypi.org/project/tabulate/) but + # I wasn't able to get it to replicate the formatting as coded below. + separator_line = len(cfp_o.split('\n')[0].replace('\t',' ' * spaces_per_tab)) * '-' + + ret += separator_line + '\n' + ret += cfp_o + ret += '\n' + separator_line + + ret += '\n\n' + + return ret @staticmethod def _field_label(field_name: str, print_width_before_value: int) -> str: return f'{field_name}:{" " * (print_width_before_value - len(field_name) - 1)}' - diff --git a/src/geophires_x/SBTEconomics.py b/src/geophires_x/SBTEconomics.py index 1fa493d77..3d36aa685 100644 --- a/src/geophires_x/SBTEconomics.py +++ b/src/geophires_x/SBTEconomics.py @@ -1,8 +1,8 @@ import sys, math import numpy as np import geophires_x.Model as Model -from .Economics import Economics, calculate_cost_of_one_vertical_well, BuildPTCModel, BuildPricingModel, \ - CalculateRevenue, CalculateFinancialPerformance, CalculateLCOELCOHLCOC +from .Economics import Economics, calculate_cost_of_one_vertical_well, BuildPTCModel, CalculateRevenue, CalculateFinancialPerformance, CalculateLCOELCOHLCOC +from .EconomicsUtils import BuildPricingModel from .OptionList import Configuration, WellDrillingCostCorrelation, PlantType from geophires_x.Parameter import floatParameter from geophires_x.Units import * diff --git a/src/geophires_x/SUTRAReservoir.py b/src/geophires_x/SUTRAReservoir.py index a1f99da69..899a288e1 100644 --- a/src/geophires_x/SUTRAReservoir.py +++ b/src/geophires_x/SUTRAReservoir.py @@ -1,6 +1,6 @@ import sys -from .MatplotlibUtils import plt_show +from .MatplotlibUtils import plt_show, plt_figure from .Parameter import strParameter, OutputParameter from .Units import * import geophires_x.Model as Model @@ -211,7 +211,7 @@ def Calculate(self, model: Model): # create plots of imported SUTRA data plt.close('all') - plt.figure(1) + plt_figure(1) year = np.arange(1, 31, 1) # make an array of days for plot x-axis plt.plot(year, abs(self.AnnualHeatStored.value), label='Annual Heat Stored') plt.plot(year, abs(self.AnnualHeatSupplied.value), label='Annual Heat Supplied') @@ -222,7 +222,7 @@ def Calculate(self, model: Model): plt.title('SUTRA Heat Balance') plt_show(block=False) - plt.figure(2) + plt_figure(2) plt.plot(self.TimeProfile.value[0:-1:2], self.TargetHeat.value[0:-1:2], label='Target Heat') plt.plot(self.TimeProfile.value[0:-1:2], self.SimulatedHeat.value[0:-1:2], label='Simulated Heat') plt.xlabel('Hour') @@ -232,7 +232,7 @@ def Calculate(self, model: Model): plt.title('SUTRA Target and Simulated Heat') plt_show(block=False) - plt.figure(3) + plt_figure(3) plt.plot(self.TimeProfile.value[0:-1:2], self.StorageWellFlowRate.value[0:-1:2], label='Storage Well Flow Rate') plt.plot(self.TimeProfile.value[0:-1:2], self.BalanceWellFlowRate.value[0:-1:2], label='Balance Well Flow Rate') plt.xlabel('Hour') @@ -242,7 +242,7 @@ def Calculate(self, model: Model): plt.title('SUTRA Well Flow Rates') plt_show(block=False) - plt.figure(4) + plt_figure(4) plt.plot(self.TimeProfile.value[0:-1:2], self.StorageWellTemperature.value[0:-1:2], label='Storage Well Temperature') plt.plot(self.TimeProfile.value[0:-1:2], self.BalanceWellTemperature.value[0:-1:2], label='Balance Well Temperature') plt.xlabel('Hour') diff --git a/src/geophires_x/SurfacePlant.py b/src/geophires_x/SurfacePlant.py index be8a4bdf3..e29184b9f 100644 --- a/src/geophires_x/SurfacePlant.py +++ b/src/geophires_x/SurfacePlant.py @@ -305,7 +305,8 @@ def __init__(self, model: Model): CurrentUnits=PercentUnit.TENTH, Required=True, ErrMessage="assume default utilization factor (0.9)", - ToolTipText="Ratio of the time the plant is running in normal production in a 1-year time period." + ToolTipText="Ratio of the time the plant is running in normal production in a 1-year time period. " + "Synonymous with capacity factor." ) self.enduse_efficiency_factor = self.ParameterDict[self.enduse_efficiency_factor.Name] = floatParameter( "End-Use Efficiency Factor", diff --git a/src/geophires_x/__init__.py b/src/geophires_x/__init__.py index e7c46630e..03f1add08 100644 --- a/src/geophires_x/__init__.py +++ b/src/geophires_x/__init__.py @@ -1 +1 @@ -__version__ = '3.8.14' +__version__ = '3.9.6' diff --git a/src/geophires_x/sam_economics/.gitignore b/src/geophires_x/sam_economics/.gitignore new file mode 100644 index 000000000..c81a475e6 --- /dev/null +++ b/src/geophires_x/sam_economics/.gitignore @@ -0,0 +1,2 @@ +ssc* +!sam-output-properties.json diff --git a/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe.json b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe.json new file mode 100644 index 000000000..0c331bf9e --- /dev/null +++ b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe.json @@ -0,0 +1,303 @@ +{ + "spec_mode" : 0, + "derate" : 0, + "system_capacity" : 458923.33100000001, + "user_capacity_factor" : 90, + "heat_rate" : 0, + "conv_eff" : 0, + "energy_output_array" : [ 0 ], + "system_use_lifetime_output" : 0, + "analysis_period" : 20, + "adjust_constant" : 0, + "adjust_en_timeindex" : 0, + "adjust_en_periods" : 0, + "adjust_timeindex" : [ 0, 0, 0, 0, 0, 0, 0 ], + "adjust_periods" : [ [ 0, 0, 0 ] ], + "grid_curtailment" : [ 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37 ], + "enable_interconnection_limit" : 0, + "grid_interconnection_limit_kwac" : 20000, + "inflation_rate" : 2, + "degradation" : [ 12.6, 12.199999999999999, 12.1, 12, 12, 11.9, 11.9, 11.9, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.699999999999999, 11.699999999999999, 11.699999999999999, 11.699999999999999, 11.699999999999999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "en_electricity_rates" : 0, + "rate_escalation" : [ 0 ], + "ur_metering_option" : 4, + "ur_nm_yearend_sell_rate" : 0, + "ur_nm_credit_month" : 11, + "ur_nm_credit_rollover" : 0, + "ur_monthly_fixed_charge" : 0, + "ur_nb_credit_expire" : 0, + "ur_nb_apply_credit_current_month" : 0, + "ur_monthly_min_charge" : 0, + "ur_annual_min_charge" : 0, + "ur_en_ts_sell_rate" : 0, + "ur_ts_sell_rate" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "ur_en_ts_buy_rate" : 0, + "ur_ts_buy_rate" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "ur_ec_sched_weekday" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "ur_ec_sched_weekend" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "ur_ec_tou_mat" : [ [ 1, 1, 9.9999999999999998e+37, 0, 0.044999999999999998, 0 ] ], + "ur_dc_enable" : 0, + "ur_dc_sched_weekday" : [ [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ] ], + "ur_dc_sched_weekend" : [ [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] ], + "ur_dc_tou_mat" : [ [ 1, 1, 9.9999999999999998e+37, 0 ] ], + "ur_dc_flat_mat" : [ [ 0, 1, 9.9999999999999998e+37, 0 ], [ 1, 1, 9.9999999999999998e+37, 0 ], [ 2, 1, 9.9999999999999998e+37, 0 ], [ 3, 1, 9.9999999999999998e+37, 0 ], [ 4, 1, 9.9999999999999998e+37, 0 ], [ 5, 1, 9.9999999999999998e+37, 0 ], [ 6, 1, 9.9999999999999998e+37, 0 ], [ 7, 1, 9.9999999999999998e+37, 0 ], [ 8, 1, 9.9999999999999998e+37, 0 ], [ 9, 1, 9.9999999999999998e+37, 0 ], [ 10, 1, 9.9999999999999998e+37, 0 ], [ 11, 1, 9.9999999999999998e+37, 0 ] ], + "ur_enable_billing_demand" : 0, + "ur_billing_demand_minimum" : 100, + "ur_billing_demand_lookback_period" : 11, + "ur_billing_demand_lookback_percentages" : [ [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 95, 1 ], [ 95, 1 ], [ 95, 1 ], [ 95, 1 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ] ], + "ur_dc_billing_demand_periods" : [ [ 1, 1 ] ], + "ur_yearzero_usage_peaks" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "ppa_soln_mode" : 1, + "ppa_price_input" : [ 0.14999999999999999 ], + "ppa_escalation" : 2, + "federal_tax_rate" : [ 21 ], + "state_tax_rate" : [ 7 ], + "property_tax_rate" : 0, + "prop_tax_cost_assessed_percent" : 100, + "prop_tax_assessed_decline" : 0, + "real_discount_rate" : 7, + "insurance_rate" : 0, + "om_fixed" : [ 26900000 ], + "om_fixed_escal" : -2, + "om_production" : [ 0 ], + "om_production_escal" : 0, + "om_capacity" : [ 0 ], + "om_capacity_escal" : 0, + "om_fuel_cost" : [ 0 ], + "om_fuel_cost_escal" : 0, + "reserves_interest" : 1.75, + "equip1_reserve_cost" : 0, + "equip1_reserve_freq" : 12, + "equip2_reserve_cost" : 0, + "equip2_reserve_freq" : 15, + "equip3_reserve_cost" : 0, + "equip3_reserve_freq" : 3, + "equip_reserve_depr_sta" : 0, + "equip_reserve_depr_fed" : 0, + "itc_fed_amount" : [ 0 ], + "itc_fed_amount_deprbas_fed" : 1, + "itc_fed_amount_deprbas_sta" : 1, + "itc_sta_amount" : [ 0 ], + "itc_sta_amount_deprbas_fed" : 0, + "itc_sta_amount_deprbas_sta" : 0, + "itc_fed_percent" : [ 30 ], + "itc_fed_percent_maxvalue" : [ 9.9999999999999998e+37 ], + "itc_fed_percent_deprbas_fed" : 1, + "itc_fed_percent_deprbas_sta" : 1, + "itc_sta_percent" : [ 0 ], + "itc_sta_percent_maxvalue" : [ 9.9999999999999998e+37 ], + "itc_sta_percent_deprbas_fed" : 0, + "itc_sta_percent_deprbas_sta" : 0, + "ptc_fed_amount" : [ 0 ], + "ptc_fed_term" : 10, + "ptc_fed_escal" : 0, + "ptc_sta_amount" : [ 0 ], + "ptc_sta_term" : 10, + "ptc_sta_escal" : 0, + "depr_alloc_macrs_5_percent" : 0, + "depr_alloc_macrs_15_percent" : 0, + "depr_alloc_sl_5_percent" : 0, + "depr_alloc_sl_15_percent" : 0, + "depr_alloc_sl_20_percent" : 100, + "depr_alloc_sl_39_percent" : 0, + "depr_alloc_custom_percent" : 0, + "depr_custom_schedule" : [ 0 ], + "depr_bonus_sta" : 0, + "depr_bonus_sta_macrs_5" : 0, + "depr_bonus_sta_macrs_15" : 0, + "depr_bonus_sta_sl_5" : 0, + "depr_bonus_sta_sl_15" : 0, + "depr_bonus_sta_sl_20" : 0, + "depr_bonus_sta_sl_39" : 0, + "depr_bonus_sta_custom" : 0, + "depr_bonus_fed" : 0, + "depr_bonus_fed_macrs_5" : 0, + "depr_bonus_fed_macrs_15" : 0, + "depr_bonus_fed_sl_5" : 0, + "depr_bonus_fed_sl_15" : 0, + "depr_bonus_fed_sl_20" : 0, + "depr_bonus_fed_sl_39" : 0, + "depr_bonus_fed_custom" : 0, + "depr_itc_sta_macrs_5" : 0, + "depr_itc_sta_macrs_15" : 0, + "depr_itc_sta_sl_5" : 0, + "depr_itc_sta_sl_15" : 0, + "depr_itc_sta_sl_20" : 0, + "depr_itc_sta_sl_39" : 0, + "depr_itc_sta_custom" : 0, + "depr_itc_fed_macrs_5" : 1, + "depr_itc_fed_macrs_15" : 1, + "depr_itc_fed_sl_5" : 1, + "depr_itc_fed_sl_15" : 1, + "depr_itc_fed_sl_20" : 1, + "depr_itc_fed_sl_39" : 1, + "depr_itc_fed_custom" : 1, + "ibi_fed_amount" : 0, + "ibi_fed_amount_tax_fed" : 1, + "ibi_fed_amount_tax_sta" : 1, + "ibi_fed_amount_deprbas_fed" : 0, + "ibi_fed_amount_deprbas_sta" : 0, + "ibi_sta_amount" : 0, + "ibi_sta_amount_tax_fed" : 1, + "ibi_sta_amount_tax_sta" : 1, + "ibi_sta_amount_deprbas_fed" : 0, + "ibi_sta_amount_deprbas_sta" : 0, + "ibi_uti_amount" : 0, + "ibi_uti_amount_tax_fed" : 1, + "ibi_uti_amount_tax_sta" : 1, + "ibi_uti_amount_deprbas_fed" : 0, + "ibi_uti_amount_deprbas_sta" : 0, + "ibi_oth_amount" : 0, + "ibi_oth_amount_tax_fed" : 1, + "ibi_oth_amount_tax_sta" : 1, + "ibi_oth_amount_deprbas_fed" : 0, + "ibi_oth_amount_deprbas_sta" : 0, + "ibi_fed_percent" : 0, + "ibi_fed_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_fed_percent_tax_fed" : 1, + "ibi_fed_percent_tax_sta" : 1, + "ibi_fed_percent_deprbas_fed" : 0, + "ibi_fed_percent_deprbas_sta" : 0, + "ibi_sta_percent" : 0, + "ibi_sta_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_sta_percent_tax_fed" : 1, + "ibi_sta_percent_tax_sta" : 1, + "ibi_sta_percent_deprbas_fed" : 0, + "ibi_sta_percent_deprbas_sta" : 0, + "ibi_uti_percent" : 0, + "ibi_uti_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_uti_percent_tax_fed" : 1, + "ibi_uti_percent_tax_sta" : 1, + "ibi_uti_percent_deprbas_fed" : 0, + "ibi_uti_percent_deprbas_sta" : 0, + "ibi_oth_percent" : 0, + "ibi_oth_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_oth_percent_tax_fed" : 1, + "ibi_oth_percent_tax_sta" : 1, + "ibi_oth_percent_deprbas_fed" : 0, + "ibi_oth_percent_deprbas_sta" : 0, + "cbi_fed_amount" : 0, + "cbi_fed_maxvalue" : 9.9999999999999998e+37, + "cbi_fed_tax_fed" : 1, + "cbi_fed_tax_sta" : 1, + "cbi_fed_deprbas_fed" : 0, + "cbi_fed_deprbas_sta" : 0, + "cbi_sta_amount" : 0, + "cbi_sta_maxvalue" : 9.9999999999999998e+37, + "cbi_sta_tax_fed" : 1, + "cbi_sta_tax_sta" : 1, + "cbi_sta_deprbas_fed" : 0, + "cbi_sta_deprbas_sta" : 0, + "cbi_uti_amount" : 0, + "cbi_uti_maxvalue" : 9.9999999999999998e+37, + "cbi_uti_tax_fed" : 1, + "cbi_uti_tax_sta" : 1, + "cbi_uti_deprbas_fed" : 0, + "cbi_uti_deprbas_sta" : 0, + "cbi_oth_amount" : 0, + "cbi_oth_maxvalue" : 9.9999999999999998e+37, + "cbi_oth_tax_fed" : 1, + "cbi_oth_tax_sta" : 1, + "cbi_oth_deprbas_fed" : 0, + "cbi_oth_deprbas_sta" : 0, + "pbi_fed_amount" : [ 0 ], + "pbi_fed_term" : 0, + "pbi_fed_escal" : 0, + "pbi_fed_tax_fed" : 1, + "pbi_fed_tax_sta" : 1, + "pbi_sta_amount" : [ 0 ], + "pbi_sta_term" : 0, + "pbi_sta_escal" : 0, + "pbi_sta_tax_fed" : 1, + "pbi_sta_tax_sta" : 1, + "pbi_uti_amount" : [ 0 ], + "pbi_uti_term" : 0, + "pbi_uti_escal" : 0, + "pbi_uti_tax_fed" : 1, + "pbi_uti_tax_sta" : 1, + "pbi_oth_amount" : [ 0 ], + "pbi_oth_term" : 0, + "pbi_oth_escal" : 0, + "pbi_oth_tax_fed" : 1, + "pbi_oth_tax_sta" : 1, + "term_tenor" : 30, + "term_int_rate" : 5, + "dscr" : 1.05, + "dscr_limit_debt_fraction" : 0, + "dscr_maximum_debt_fraction" : 50, + "dscr_reserve_months" : 0, + "debt_percent" : 50, + "debt_option" : 0, + "payment_option" : 0, + "cost_debt_closing" : 0, + "cost_debt_fee" : 0, + "months_working_reserve" : 0, + "months_receivables_reserve" : 0, + "cost_other_financing" : 0, + "flip_target_percent" : 20, + "flip_target_year" : 11, + "pbi_fed_for_ds" : 0, + "pbi_sta_for_ds" : 0, + "pbi_uti_for_ds" : 0, + "pbi_oth_for_ds" : 0, + "en_batt" : 0, + "loan_moratorium" : 0, + "total_installed_cost" : 1609419000, + "salvage_percentage" : 50, + "construction_financing_cost" : 0, + "depr_stabas_method" : 1, + "depr_fedbas_method" : 1, + "en_wave_batt" : 0, + "cp_capacity_payment_esc" : 0, + "cp_capacity_payment_type" : 0, + "cp_capacity_payment_amount" : [ 0 ], + "cp_capacity_credit_percent" : [ 0 ], + "cp_system_nameplate" : 458.92333100000002, + "cp_battery_nameplate" : 0, + "grid_curtailment_price" : [ 0 ], + "grid_curtailment_price_esc" : 0, + "batt_salvage_percentage" : 0, + "ppa_multiplier_model" : 0, + "dispatch_factors_ts" : [ 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004 ], + "dispatch_tod_factors" : [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ], + "dispatch_sched_weekday" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "dispatch_sched_weekend" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "compute_module_0" : "custom_generation", + "compute_module_1" : "grid", + "compute_module_2" : "utilityrate5", + "compute_module_3" : "singleowner", + "metric_0" : "annual_energy", + "metric_0_label" : "Annual AC energy (year 1)", + "metric_1" : "capacity_factor", + "metric_1_label" : "Capacity factor (year 1)", + "metric_2" : "ppa", + "metric_2_label" : "PPA price in Year 1", + "metric_3" : "ppa_escalation", + "metric_3_label" : "PPA price escalation", + "metric_4" : "lppa_nom", + "metric_4_label" : "LPPA Levelized PPA price nominal", + "metric_5" : "lppa_real", + "metric_5_label" : "LPPA Levelized PPA price real", + "metric_6" : "lcoe_nom", + "metric_6_label" : "LCOE Levelized cost of energy nominal", + "metric_7" : "lcoe_real", + "metric_7_label" : "LCOE Levelized cost of energy real", + "metric_8" : "project_return_aftertax_npv", + "metric_8_label" : "NPV Net present value", + "metric_9" : "flip_actual_irr", + "metric_9_label" : "IRR Internal rate of return", + "metric_10" : "flip_actual_year", + "metric_10_label" : "Year IRR is achieved", + "metric_11" : "project_return_aftertax_irr", + "metric_11_label" : "IRR at end of project", + "metric_12" : "cost_installed", + "metric_12_label" : "Net capital cost", + "metric_13" : "size_of_equity", + "metric_13_label" : "Equity", + "metric_14" : "size_of_debt", + "metric_14_label" : "Size of debt", + "metric_15" : "min_dscr", + "metric_15_label" : "Minimum DSCR", + "number_compute_modules" : 4, + "number_metrics" : 16 +} diff --git a/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_custom_generation.json b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_custom_generation.json new file mode 100644 index 000000000..ab66250d2 --- /dev/null +++ b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_custom_generation.json @@ -0,0 +1,16 @@ +{ + "spec_mode" : 0, + "derate" : 0, + "system_capacity" : 458923.33100000001, + "user_capacity_factor" : 90, + "heat_rate" : 0, + "conv_eff" : 0, + "energy_output_array" : [ 0 ], + "system_use_lifetime_output" : 0, + "analysis_period" : 20, + "adjust_constant" : 0, + "adjust_en_timeindex" : 0, + "adjust_en_periods" : 0, + "adjust_timeindex" : [ 0, 0, 0, 0, 0, 0, 0 ], + "adjust_periods" : [ [ 0, 0, 0 ] ] +} diff --git a/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_grid.json b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_grid.json new file mode 100644 index 000000000..d172f2bb6 --- /dev/null +++ b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_grid.json @@ -0,0 +1,5 @@ +{ + "grid_curtailment" : [ 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37, 9.9999999999999998e+37 ], + "enable_interconnection_limit" : 0, + "grid_interconnection_limit_kwac" : 20000 +} diff --git a/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_singleowner.json b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_singleowner.json new file mode 100644 index 000000000..fd159a64b --- /dev/null +++ b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_singleowner.json @@ -0,0 +1,217 @@ +{ + "ppa_soln_mode" : 1, + "ppa_price_input" : [ 0.14999999999999999 ], + "ppa_escalation" : 2, + "federal_tax_rate" : [ 21 ], + "state_tax_rate" : [ 7 ], + "property_tax_rate" : 0, + "prop_tax_cost_assessed_percent" : 100, + "prop_tax_assessed_decline" : 0, + "real_discount_rate" : 7, + "insurance_rate" : 0, + "om_fixed" : [ 26900000 ], + "om_fixed_escal" : -2, + "om_production" : [ 0 ], + "om_production_escal" : 0, + "om_capacity" : [ 0 ], + "om_capacity_escal" : 0, + "om_fuel_cost" : [ 0 ], + "om_fuel_cost_escal" : 0, + "reserves_interest" : 1.75, + "equip1_reserve_cost" : 0, + "equip1_reserve_freq" : 12, + "equip2_reserve_cost" : 0, + "equip2_reserve_freq" : 15, + "equip3_reserve_cost" : 0, + "equip3_reserve_freq" : 3, + "equip_reserve_depr_sta" : 0, + "equip_reserve_depr_fed" : 0, + "itc_fed_amount" : [ 0 ], + "itc_fed_amount_deprbas_fed" : 1, + "itc_fed_amount_deprbas_sta" : 1, + "itc_sta_amount" : [ 0 ], + "itc_sta_amount_deprbas_fed" : 0, + "itc_sta_amount_deprbas_sta" : 0, + "itc_fed_percent" : [ 30 ], + "itc_fed_percent_maxvalue" : [ 9.9999999999999998e+37 ], + "itc_fed_percent_deprbas_fed" : 1, + "itc_fed_percent_deprbas_sta" : 1, + "itc_sta_percent" : [ 0 ], + "itc_sta_percent_maxvalue" : [ 9.9999999999999998e+37 ], + "itc_sta_percent_deprbas_fed" : 0, + "itc_sta_percent_deprbas_sta" : 0, + "ptc_fed_amount" : [ 0 ], + "ptc_fed_term" : 10, + "ptc_fed_escal" : 0, + "ptc_sta_amount" : [ 0 ], + "ptc_sta_term" : 10, + "ptc_sta_escal" : 0, + "depr_alloc_macrs_5_percent" : 0, + "depr_alloc_macrs_15_percent" : 0, + "depr_alloc_sl_5_percent" : 0, + "depr_alloc_sl_15_percent" : 0, + "depr_alloc_sl_20_percent" : 100, + "depr_alloc_sl_39_percent" : 0, + "depr_alloc_custom_percent" : 0, + "depr_custom_schedule" : [ 0 ], + "depr_bonus_sta" : 0, + "depr_bonus_sta_macrs_5" : 0, + "depr_bonus_sta_macrs_15" : 0, + "depr_bonus_sta_sl_5" : 0, + "depr_bonus_sta_sl_15" : 0, + "depr_bonus_sta_sl_20" : 0, + "depr_bonus_sta_sl_39" : 0, + "depr_bonus_sta_custom" : 0, + "depr_bonus_fed" : 0, + "depr_bonus_fed_macrs_5" : 0, + "depr_bonus_fed_macrs_15" : 0, + "depr_bonus_fed_sl_5" : 0, + "depr_bonus_fed_sl_15" : 0, + "depr_bonus_fed_sl_20" : 0, + "depr_bonus_fed_sl_39" : 0, + "depr_bonus_fed_custom" : 0, + "depr_itc_sta_macrs_5" : 0, + "depr_itc_sta_macrs_15" : 0, + "depr_itc_sta_sl_5" : 0, + "depr_itc_sta_sl_15" : 0, + "depr_itc_sta_sl_20" : 0, + "depr_itc_sta_sl_39" : 0, + "depr_itc_sta_custom" : 0, + "depr_itc_fed_macrs_5" : 1, + "depr_itc_fed_macrs_15" : 1, + "depr_itc_fed_sl_5" : 1, + "depr_itc_fed_sl_15" : 1, + "depr_itc_fed_sl_20" : 1, + "depr_itc_fed_sl_39" : 1, + "depr_itc_fed_custom" : 1, + "ibi_fed_amount" : 0, + "ibi_fed_amount_tax_fed" : 1, + "ibi_fed_amount_tax_sta" : 1, + "ibi_fed_amount_deprbas_fed" : 0, + "ibi_fed_amount_deprbas_sta" : 0, + "ibi_sta_amount" : 0, + "ibi_sta_amount_tax_fed" : 1, + "ibi_sta_amount_tax_sta" : 1, + "ibi_sta_amount_deprbas_fed" : 0, + "ibi_sta_amount_deprbas_sta" : 0, + "ibi_uti_amount" : 0, + "ibi_uti_amount_tax_fed" : 1, + "ibi_uti_amount_tax_sta" : 1, + "ibi_uti_amount_deprbas_fed" : 0, + "ibi_uti_amount_deprbas_sta" : 0, + "ibi_oth_amount" : 0, + "ibi_oth_amount_tax_fed" : 1, + "ibi_oth_amount_tax_sta" : 1, + "ibi_oth_amount_deprbas_fed" : 0, + "ibi_oth_amount_deprbas_sta" : 0, + "ibi_fed_percent" : 0, + "ibi_fed_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_fed_percent_tax_fed" : 1, + "ibi_fed_percent_tax_sta" : 1, + "ibi_fed_percent_deprbas_fed" : 0, + "ibi_fed_percent_deprbas_sta" : 0, + "ibi_sta_percent" : 0, + "ibi_sta_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_sta_percent_tax_fed" : 1, + "ibi_sta_percent_tax_sta" : 1, + "ibi_sta_percent_deprbas_fed" : 0, + "ibi_sta_percent_deprbas_sta" : 0, + "ibi_uti_percent" : 0, + "ibi_uti_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_uti_percent_tax_fed" : 1, + "ibi_uti_percent_tax_sta" : 1, + "ibi_uti_percent_deprbas_fed" : 0, + "ibi_uti_percent_deprbas_sta" : 0, + "ibi_oth_percent" : 0, + "ibi_oth_percent_maxvalue" : 9.9999999999999998e+37, + "ibi_oth_percent_tax_fed" : 1, + "ibi_oth_percent_tax_sta" : 1, + "ibi_oth_percent_deprbas_fed" : 0, + "ibi_oth_percent_deprbas_sta" : 0, + "cbi_fed_amount" : 0, + "cbi_fed_maxvalue" : 9.9999999999999998e+37, + "cbi_fed_tax_fed" : 1, + "cbi_fed_tax_sta" : 1, + "cbi_fed_deprbas_fed" : 0, + "cbi_fed_deprbas_sta" : 0, + "cbi_sta_amount" : 0, + "cbi_sta_maxvalue" : 9.9999999999999998e+37, + "cbi_sta_tax_fed" : 1, + "cbi_sta_tax_sta" : 1, + "cbi_sta_deprbas_fed" : 0, + "cbi_sta_deprbas_sta" : 0, + "cbi_uti_amount" : 0, + "cbi_uti_maxvalue" : 9.9999999999999998e+37, + "cbi_uti_tax_fed" : 1, + "cbi_uti_tax_sta" : 1, + "cbi_uti_deprbas_fed" : 0, + "cbi_uti_deprbas_sta" : 0, + "cbi_oth_amount" : 0, + "cbi_oth_maxvalue" : 9.9999999999999998e+37, + "cbi_oth_tax_fed" : 1, + "cbi_oth_tax_sta" : 1, + "cbi_oth_deprbas_fed" : 0, + "cbi_oth_deprbas_sta" : 0, + "pbi_fed_amount" : [ 0 ], + "pbi_fed_term" : 0, + "pbi_fed_escal" : 0, + "pbi_fed_tax_fed" : 1, + "pbi_fed_tax_sta" : 1, + "pbi_sta_amount" : [ 0 ], + "pbi_sta_term" : 0, + "pbi_sta_escal" : 0, + "pbi_sta_tax_fed" : 1, + "pbi_sta_tax_sta" : 1, + "pbi_uti_amount" : [ 0 ], + "pbi_uti_term" : 0, + "pbi_uti_escal" : 0, + "pbi_uti_tax_fed" : 1, + "pbi_uti_tax_sta" : 1, + "pbi_oth_amount" : [ 0 ], + "pbi_oth_term" : 0, + "pbi_oth_escal" : 0, + "pbi_oth_tax_fed" : 1, + "pbi_oth_tax_sta" : 1, + "term_tenor" : 30, + "term_int_rate" : 5, + "dscr" : 1.05, + "dscr_limit_debt_fraction" : 0, + "dscr_maximum_debt_fraction" : 50, + "dscr_reserve_months" : 0, + "debt_percent" : 50, + "debt_option" : 0, + "payment_option" : 0, + "cost_debt_closing" : 0, + "cost_debt_fee" : 0, + "months_working_reserve" : 0, + "months_receivables_reserve" : 0, + "cost_other_financing" : 0, + "flip_target_percent" : 20, + "flip_target_year" : 11, + "pbi_fed_for_ds" : 0, + "pbi_sta_for_ds" : 0, + "pbi_uti_for_ds" : 0, + "pbi_oth_for_ds" : 0, + "en_batt" : 0, + "loan_moratorium" : 0, + "total_installed_cost" : 1609419000, + "salvage_percentage" : 50, + "construction_financing_cost" : 0, + "depr_stabas_method" : 1, + "depr_fedbas_method" : 1, + "en_wave_batt" : 0, + "cp_capacity_payment_esc" : 0, + "cp_capacity_payment_type" : 0, + "cp_capacity_payment_amount" : [ 0 ], + "cp_capacity_credit_percent" : [ 0 ], + "cp_system_nameplate" : 458.92333100000002, + "cp_battery_nameplate" : 0, + "grid_curtailment_price" : [ 0 ], + "grid_curtailment_price_esc" : 0, + "batt_salvage_percentage" : 0, + "ppa_multiplier_model" : 0, + "dispatch_factors_ts" : [ 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1.2, 1.2, 1.2, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 2.0640000000000001, 1.2, 1.2, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.69999999999999996, 0.80000000000000004, 0.80000000000000004, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 1.1000000000000001, 0.80000000000000004, 0.80000000000000004, 0.80000000000000004 ], + "dispatch_tod_factors" : [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ], + "dispatch_sched_weekday" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "dispatch_sched_weekend" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ] +} diff --git a/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_utilityrate5.json b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_utilityrate5.json new file mode 100644 index 000000000..0c6dbf216 --- /dev/null +++ b/src/geophires_x/sam_economics/Generic_400_MWe/Generic_400_MWe_utilityrate5.json @@ -0,0 +1,33 @@ +{ + "inflation_rate" : 2, + "degradation" : [ 12.6, 12.199999999999999, 12.1, 12, 12, 11.9, 11.9, 11.9, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.800000000000001, 11.699999999999999, 11.699999999999999, 11.699999999999999, 11.699999999999999, 11.699999999999999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "en_electricity_rates" : 0, + "rate_escalation" : [ 0 ], + "ur_metering_option" : 4, + "ur_nm_yearend_sell_rate" : 0, + "ur_nm_credit_month" : 11, + "ur_nm_credit_rollover" : 0, + "ur_monthly_fixed_charge" : 0, + "ur_nb_credit_expire" : 0, + "ur_nb_apply_credit_current_month" : 0, + "ur_monthly_min_charge" : 0, + "ur_annual_min_charge" : 0, + "ur_en_ts_sell_rate" : 0, + "ur_ts_sell_rate" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "ur_en_ts_buy_rate" : 0, + "ur_ts_buy_rate" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], + "ur_ec_sched_weekday" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "ur_ec_sched_weekend" : [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ], + "ur_ec_tou_mat" : [ [ 1, 1, 9.9999999999999998e+37, 0, 0.044999999999999998, 0 ] ], + "ur_dc_enable" : 0, + "ur_dc_sched_weekday" : [ [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2 ] ], + "ur_dc_sched_weekend" : [ [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] ], + "ur_dc_tou_mat" : [ [ 1, 1, 9.9999999999999998e+37, 0 ] ], + "ur_dc_flat_mat" : [ [ 0, 1, 9.9999999999999998e+37, 0 ], [ 1, 1, 9.9999999999999998e+37, 0 ], [ 2, 1, 9.9999999999999998e+37, 0 ], [ 3, 1, 9.9999999999999998e+37, 0 ], [ 4, 1, 9.9999999999999998e+37, 0 ], [ 5, 1, 9.9999999999999998e+37, 0 ], [ 6, 1, 9.9999999999999998e+37, 0 ], [ 7, 1, 9.9999999999999998e+37, 0 ], [ 8, 1, 9.9999999999999998e+37, 0 ], [ 9, 1, 9.9999999999999998e+37, 0 ], [ 10, 1, 9.9999999999999998e+37, 0 ], [ 11, 1, 9.9999999999999998e+37, 0 ] ], + "ur_enable_billing_demand" : 0, + "ur_billing_demand_minimum" : 100, + "ur_billing_demand_lookback_period" : 11, + "ur_billing_demand_lookback_percentages" : [ [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ], [ 95, 1 ], [ 95, 1 ], [ 95, 1 ], [ 95, 1 ], [ 60, 0 ], [ 60, 0 ], [ 60, 0 ] ], + "ur_dc_billing_demand_periods" : [ [ 1, 1 ] ], + "ur_yearzero_usage_peaks" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +} diff --git a/src/geophires_x/sam_economics/sam-cash-flow-table.csv b/src/geophires_x/sam_economics/sam-cash-flow-table.csv new file mode 100644 index 000000000..d490b58c9 --- /dev/null +++ b/src/geophires_x/sam_economics/sam-cash-flow-table.csv @@ -0,0 +1,220 @@ +,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,,,,,,,,,,,,,,,,, +ENERGY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Electricity to grid (kWh),0,"3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448",,,,,,,,,,,,,,,,, +Electricity from grid (kWh),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Electricity to grid net (kWh),0,"3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +REVENUE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +PPA price (cents/kWh),0,15,15.3,15.606,15.9181,16.2365,16.5612,16.8924,17.2303,17.5749,17.9264,18.2849,18.6506,19.0236,19.4041,19.7922,20.188,20.5918,21.0036,21.4237,21.8522,,,,,,,,,,,,,,,,, +PPA revenue ($),0,"478,138,848","487,701,632","497,455,680","507,404,800","517,552,896","527,903,936","538,462,016","549,231,232","560,215,872","571,420,224","582,848,576","594,505,600","606,395,712","618,523,584","630,894,080","643,511,936","656,382,208","669,509,824","682,900,032","696,558,016",,,,,,,,,,,,,,,,, +Curtailment payment revenue ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Capacity payment revenue ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Salvage value ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"766,390,016",,,,,,,,,,,,,,,,, +Total revenue ($),0,"478,138,848","487,701,632","497,455,680","507,404,800","517,552,896","527,903,936","538,462,016","549,231,232","560,215,872","571,420,224","582,848,576","594,505,600","606,395,712","618,523,584","630,894,080","643,511,936","656,382,208","669,509,824","682,900,032","1,462,948,096",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Property tax net assessed value ($),0,"1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032","1,532,780,032",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +OPERATING EXPENSES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +O&M fixed expense ($),0,"26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000",,,,,,,,,,,,,,,,, +O&M production-based expense ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +O&M capacity-based expense ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Fuel expense ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Electricity purchase ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Property tax expense ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Insurance expense ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Total operating expenses ($),0,"26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000","26,900,000",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +EBITDA ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +OPERATING ACTIVITIES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +EBITDA ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +Interest earned on reserves ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +plus PBI if not available for debt service:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Utility PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Other PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Debt interest payment ($),-0,"-38,319,500","-37,160,620","-35,943,796","-34,666,128","-33,324,578","-31,915,952","-30,436,894","-28,883,882","-27,253,220","-25,541,026","-23,743,222","-21,855,526","-19,873,448","-17,792,264","-15,607,021","-13,312,517","-10,903,287","-8,373,595","-5,717,419","-2,928,434",,,,,,,,,,,,,,,,, +Cash flow from operating activities ($),0,"412,919,360","423,641,024","434,611,872","445,838,656","457,328,320","469,088,000","481,125,120","493,447,392","506,062,656","518,979,168","532,205,376","545,750,080","559,622,272","573,831,360","588,387,072","603,299,456","618,578,880","634,236,224","650,282,624","1,433,119,616",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +INVESTING ACTIVITIES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total installed cost ($),"-1,532,780,032",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt closing costs ($),-0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt up-front fee ($),-0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total construction financing cost ($),-0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Other financing cost ($),-0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +minus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Purchase of property ($),"-1,532,780,032",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +plus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease debt service ($),-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease working capital ($),-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,0,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease receivables ($),-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,0,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease major equipment 1 ($),-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,0,-0,-0,-0,-0,-0,-0,-0,-0,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease major equipment 2 ($),-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,0,-0,-0,-0,-0,-0,,,,,,,,,,,,,,,,, +Reserve (increase)/decrease major equipment 3 ($),-0,-0,-0,0,-0,-0,0,-0,-0,0,-0,-0,0,-0,-0,0,-0,-0,0,-0,-0,,,,,,,,,,,,,,,,, +Reserve capital spending major equipment 1 ($),0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserve capital spending major equipment 2 ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserve capital spending major equipment 3 ($),0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Cash flow from investing activities ($),"-1,532,780,032",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +FINANCING ACTIVITIES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Issuance of equity ($),"766,390,016",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Size of debt ($),"766,390,016",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +minus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt principal payment ($),0,"23,177,616","24,336,498","25,553,322","26,830,988","28,172,538","29,581,164","31,060,222","32,613,234","34,243,896","35,956,092","37,753,896","39,641,588","41,623,668","43,704,852","45,890,096","48,184,600","50,593,828","53,123,520","55,779,696","58,568,684",,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Cash flow from financing activities ($),"1,532,780,032","-23,177,616","-24,336,498","-25,553,322","-26,830,988","-28,172,538","-29,581,164","-31,060,222","-32,613,234","-34,243,896","-35,956,092","-37,753,896","-39,641,588","-41,623,668","-43,704,852","-45,890,096","-48,184,600","-50,593,828","-53,123,520","-55,779,696","-58,568,684",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +PROJECT RETURNS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Pre-tax Cash Flow:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Cash flow from operating activities ($),0,"412,919,360","423,641,024","434,611,872","445,838,656","457,328,320","469,088,000","481,125,120","493,447,392","506,062,656","518,979,168","532,205,376","545,750,080","559,622,272","573,831,360","588,387,072","603,299,456","618,578,880","634,236,224","650,282,624","1,433,119,616",,,,,,,,,,,,,,,,, +Cash flow from investing activities ($),"-1,532,780,032",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Cash flow from financing activities ($),"1,532,780,032","-23,177,616","-24,336,498","-25,553,322","-26,830,988","-28,172,538","-29,581,164","-31,060,222","-32,613,234","-34,243,896","-35,956,092","-37,753,896","-39,641,588","-41,623,668","-43,704,852","-45,890,096","-48,184,600","-50,593,828","-53,123,520","-55,779,696","-58,568,684",,,,,,,,,,,,,,,,, +Total pre-tax cash flow ($),0,"389,741,760","399,304,512","409,058,560","419,007,680","429,155,776","439,506,816","450,064,896","460,834,144","471,818,784","483,023,072","494,451,488","506,108,448","517,998,560","530,126,496","542,496,960","555,114,816","567,985,088","581,112,704","594,502,912","1,374,550,912",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Pre-tax Returns:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Issuance of equity ($),"-766,390,016",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total pre-tax cash flow ($),0,"389,741,760","399,304,512","409,058,560","419,007,680","429,155,776","439,506,816","450,064,896","460,834,144","471,818,784","483,023,072","494,451,488","506,108,448","517,998,560","530,126,496","542,496,960","555,114,816","567,985,088","581,112,704","594,502,912","1,374,550,912",,,,,,,,,,,,,,,,, +Total pre-tax returns ($),"-766,390,016","389,741,760","399,304,512","409,058,560","419,007,680","429,155,776","439,506,816","450,064,896","460,834,144","471,818,784","483,023,072","494,451,488","506,108,448","517,998,560","530,126,496","542,496,960","555,114,816","567,985,088","581,112,704","594,502,912","1,374,550,912",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +After-tax Returns:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total pre-tax returns ($),"-766,390,016","389,741,760","399,304,512","409,058,560","419,007,680","429,155,776","439,506,816","450,064,896","460,834,144","471,818,784","483,023,072","494,451,488","506,108,448","517,998,560","530,126,496","542,496,960","555,114,816","567,985,088","581,112,704","594,502,912","1,374,550,912",,,,,,,,,,,,,,,,, +Federal ITC total income ($),0,"459,833,984",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Federal PTC income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Federal tax benefit (liability) ($),0,"-74,281,920","-70,014,632","-72,157,240","-74,349,832","-76,593,760","-78,890,424","-81,241,280","-83,647,816","-86,111,584","-88,634,176","-91,217,256","-93,862,528","-96,571,768","-99,346,800","-102,189,536","-105,101,920","-108,086,008","-111,143,880","-114,277,736","-267,165,808",,,,,,,,,,,,,,,,, +State ITC total income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State PTC income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State tax benefit (liability) ($),0,"-26,624,346","-25,094,852","-25,862,812","-26,648,686","-27,452,960","-28,276,138","-29,118,738","-29,981,296","-30,864,366","-31,768,522","-32,694,356","-33,642,484","-34,613,536","-35,608,172","-36,627,072","-37,670,940","-38,740,504","-39,836,516","-40,959,764","-95,758,352",,,,,,,,,,,,,,,,, +Total after-tax returns ($),"-766,390,016","748,669,504","304,195,040","311,038,496","318,009,152","325,109,056","332,340,256","339,704,896","347,205,024","354,842,816","362,620,384","370,539,872","378,603,456","386,813,280","395,171,520","403,680,352","412,341,984","421,158,560","430,132,320","439,265,408","1,011,626,752",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +After-tax cumulative IRR (%),NaN,-2.31,28.56,44.56,52.72,57.08,59.50,60.90,61.72,62.22,62.52,62.70,62.82,62.89,62.93,62.96,62.98,62.99,62.99,63.00,63.00,,,,,,,,,,,,,,,,, +After-tax cumulative NPV ($),"-766,390,016","-80,418,328","174,960,112","414,215,808","638,347,776","848,294,592","1,044,937,984","1,229,105,920","1,401,576,320","1,563,079,296","1,714,300,416","1,855,883,648","1,988,432,768","2,112,515,200","2,228,662,784","2,337,374,976","2,439,120,384","2,534,338,304","2,623,440,896","2,706,815,232","2,882,745,856",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +AFTER-TAX LCOE AND PPA PRICE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Annual costs ($),"-766,390,016","270,530,624","-183,506,608","-186,417,168","-189,395,632","-192,443,840","-195,563,680","-198,757,136","-202,026,224","-205,373,056","-208,799,808","-212,308,720","-215,902,128","-219,582,416","-223,352,096","-227,213,728","-231,169,984","-235,223,616","-239,377,520","-243,634,624","315,068,736",,,,,,,,,,,,,,,,, +PPA revenue ($),0,"478,138,848","487,701,632","497,455,680","507,404,800","517,552,896","527,903,936","538,462,016","549,231,232","560,215,872","571,420,224","582,848,576","594,505,600","606,395,712","618,523,584","630,894,080","643,511,936","656,382,208","669,509,824","682,900,032","696,558,016",,,,,,,,,,,,,,,,, +Electricity to grid (kWh),0,"3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448","3,187,592,448",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Present value of annual costs ($),"2,083,342,464",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Present value of annual energy nominal (kWh),"28,810,096,640",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +LCOE Levelized cost of energy nominal (cents/kWh),7.23,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Present value of PPA revenue ($),"4,966,088,192",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Present value of annual energy nominal (kWh),"28,810,096,640",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +LPPA Levelized PPA price nominal (cents/kWh),17.24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +PROJECT STATE INCOME TAXES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +EBITDA ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +State taxable PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Interest earned on reserves ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State taxable IBI income ($),,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State taxable CBI income ($),,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +minus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt interest payment ($),0,"38,319,500","37,160,620","35,943,796","34,666,128","33,324,578","31,915,952","30,436,894","28,883,882","27,253,220","25,541,026","23,743,222","21,855,526","19,873,448","17,792,264","15,607,021","13,312,517","10,903,287","8,373,595","5,717,419","2,928,434",,,,,,,,,,,,,,,,, +Total state tax depreciation ($),0,"32,571,576","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152",,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State taxable income ($),0,"380,347,776","358,497,856","369,468,736","380,695,520","392,185,152","403,944,832","415,981,984","428,304,224","440,919,520","453,836,032","467,062,240","480,606,912","494,479,104","508,688,192","523,243,904","538,156,288","553,435,776","569,093,120","585,139,456","1,367,976,448",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State income tax rate (frac),0,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,0.070,,,,,,,,,,,,,,,,, +State tax benefit (liability) ($),0,"-26,624,346","-25,094,852","-25,862,812","-26,648,686","-27,452,960","-28,276,138","-29,118,738","-29,981,296","-30,864,366","-31,768,522","-32,694,356","-33,642,484","-34,613,536","-35,608,172","-36,627,072","-37,670,940","-38,740,504","-39,836,516","-40,959,764","-95,758,352",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +PROJECT FEDERAL INCOME TAXES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +EBITDA ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +Interest earned on reserves ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State tax benefit (liability) ($),0,"-26,624,346","-25,094,852","-25,862,812","-26,648,686","-27,452,960","-28,276,138","-29,118,738","-29,981,296","-30,864,366","-31,768,522","-32,694,356","-33,642,484","-34,613,536","-35,608,172","-36,627,072","-37,670,940","-38,740,504","-39,836,516","-40,959,764","-95,758,352",,,,,,,,,,,,,,,,, +State ITC total income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State PTC income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Federal taxable IBI income ($),,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal taxable CBI income ($),,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal taxable PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +minus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt interest payment ($),0,"38,319,500","37,160,620","35,943,796","34,666,128","33,324,578","31,915,952","30,436,894","28,883,882","27,253,220","25,541,026","23,743,222","21,855,526","19,873,448","17,792,264","15,607,021","13,312,517","10,903,287","8,373,595","5,717,419","2,928,434",,,,,,,,,,,,,,,,, +Total federal tax depreciation ($),0,"32,571,576","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152","65,143,152",,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal taxable income ($),0,"353,723,456","333,403,008","343,605,920","354,046,816","364,732,192","375,668,704","386,863,232","398,322,944","410,055,136","422,067,520","434,367,872","446,964,416","459,865,568","473,080,032","486,616,832","500,485,344","514,695,264","529,256,576","544,179,712","1,272,218,112",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal income tax rate (frac),0,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,0.210,,,,,,,,,,,,,,,,, +Federal tax benefit (liability) ($),0,"-74,281,920","-70,014,632","-72,157,240","-74,349,832","-76,593,760","-78,890,424","-81,241,280","-83,647,816","-86,111,584","-88,634,176","-91,217,256","-93,862,528","-96,571,768","-99,346,800","-102,189,536","-105,101,920","-108,086,008","-111,143,880","-114,277,736","-267,165,808",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +CASH INCENTIVES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Utility IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Other IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total IBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Utility CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Other CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Total CBI income ($),0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Utility PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Other PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Total PBI income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +TAX CREDITS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal PTC income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State PTC income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Federal ITC amount income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Federal ITC percent income ($),0,"459,833,984.00",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Federal ITC total income ($),0,"459,833,984.00",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +State ITC amount income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State ITC percent income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +State ITC total income ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DEBT REPAYMENT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Debt balance ($),"766,390,016","743,212,352","718,875,904","693,322,560","666,491,584","638,319,040","608,737,856","577,677,632","545,064,448","510,820,512","474,864,416","437,110,528","397,468,960","355,845,280","312,140,416","266,250,336","218,065,728","167,471,904","114,348,376","58,568,684",0,,,,,,,,,,,,,,,,, +Debt interest payment ($),0,"38,319,500","37,160,620","35,943,796","34,666,128","33,324,578","31,915,952","30,436,894","28,883,882","27,253,220","25,541,026","23,743,222","21,855,526","19,873,448","17,792,264","15,607,021","13,312,517","10,903,287","8,373,595","5,717,419","2,928,434",,,,,,,,,,,,,,,,, +Debt principal payment ($),0,"23,177,616","24,336,498","25,553,322","26,830,988","28,172,538","29,581,164","31,060,222","32,613,234","34,243,896","35,956,092","37,753,896","39,641,588","41,623,668","43,704,852","45,890,096","48,184,600","50,593,828","53,123,520","55,779,696","58,568,684",,,,,,,,,,,,,,,,, +Debt total payment ($),0,"61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116",,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DSCR (DEBT FRACTION),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +EBITDA ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +minus:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves major equipment 1 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 2 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 3 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves receivables funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +equals:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Cash available for debt service (CAFDS) ($),0,"451,238,848","460,801,632","470,555,680","480,504,800","490,652,896","501,003,936","511,562,016","522,331,264","533,315,872","544,520,192","555,948,608","567,605,568","579,495,680","591,623,616","603,994,048","616,611,968","629,482,176","642,609,856","656,000,064","1,436,048,000",,,,,,,,,,,,,,,,, +Debt total payment ($),0,"61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116","61,497,116",,,,,,,,,,,,,,,,, +DSCR (pre-tax),0,7.34,7.49,7.65,7.81,7.98,8.15,8.32,8.49,8.67,8.85,9.04,9.23,9.42,9.62,9.82,10.03,10.24,10.45,10.67,23.35,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +RESERVES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves working capital funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves working capital disbursement ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,,,,,,,,,,,,,,,,, +Reserves working capital balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves debt service funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves debt service disbursement ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves debt service balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves receivables funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves receivables disbursement ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,,,,,,,,,,,,,,,,, +Reserves receivables balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves major equipment 1 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 1 disbursement ($),0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 1 balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves major equipment 2 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 2 disbursement ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 2 balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves major equipment 3 funding ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 3 disbursement ($),0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,-0,0,0,,,,,,,,,,,,,,,,, +Reserves major equipment 3 balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Reserves total reserves balance ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +Interest on reserves (%/year),1.75,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Interest earned on reserves ($),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,,,,,,,,,,,, +, , , , , , , , , , , , , , , , ,,,,,,,,,,,,,,,,,,,,,, diff --git a/src/geophires_x/sam_economics/sam-output-properties.json b/src/geophires_x/sam_economics/sam-output-properties.json new file mode 100644 index 000000000..96329143c --- /dev/null +++ b/src/geophires_x/sam_economics/sam-output-properties.json @@ -0,0 +1,617 @@ +{ + "Net capital cost ($)": "cost_installed", + "Federal taxable CBI income ($)": "cbi_fedtax_total", + "State taxable CBI income ($)": "cbi_statax_total", + "Total CBI income ($)": "cbi_total", + "Federal CBI income ($)": "cbi_total_fed", + "Other CBI income ($)": "cbi_total_oth", + "State CBI income ($)": "cbi_total_sta", + "Utility CBI income ($)": "cbi_total_uti", + "After-tax cash flow ($)": "cf_after_tax_cash_flow", + "After-tax annual costs ($)": "cf_after_tax_net_equity_cost_flow", + "Annual storage costs ($)": "cf_annual_cost_lcos", + "Annual storage discharge (kWh)": "cf_annual_discharge_lcos", + "Battery replacement cost ($)": "cf_battery_replacement_cost", + "Battery replacement cost schedule ($)": "cf_battery_replacement_cost_schedule", + "Annual cost to charge from grid ($)": "cf_charging_cost_grid", + "Annual cost to charge from grid (monthly) ($)": "cf_charging_cost_grid_month", + "Annual cost to charge from system ($)": "cf_charging_cost_pv", + "Cumulative simple payback with expenses ($)": "cf_cumulative_payback_with_expenses", + "Cumulative simple payback without expenses ($)": "cf_cumulative_payback_without_expenses", + "Debt balance ($)": "cf_debt_balance", + "Interest payment ($)": "cf_debt_payment_interest", + "Principal payment ($)": "cf_debt_payment_principal", + "Total P&I debt payment ($)": "cf_debt_payment_total", + "Deductible expenses ($)": "cf_deductible_expenses", + "Discounted costs ($)": "cf_discounted_costs", + "Cumulative discounted payback ($)": "cf_discounted_cumulative_payback", + "Discounted payback ($)": "cf_discounted_payback", + "Discounted savings ($)": "cf_discounted_savings", + "Effective income tax rate (frac)": "cf_effective_tax_frac", + "Electricity net generation (kWh)": "cf_energy_net", + "Electricity from grid to system (kWh)": "cf_energy_purchases", + "Electricity generation (kWh)": "cf_energy_sales", + "Value of electricity savings ($)": "cf_energy_value", + "Electricity generated without the battery or curtailment (kWh)": "cf_energy_without_battery", + "Federal depreciation schedule (%)": "cf_fed_depr_sched", + "Federal depreciation ($)": "cf_fed_depreciation", + "Federal incentive income less deductions ($)": "cf_fed_incentive_income_less_deductions", + "Federal tax savings ($)": "cf_fed_tax_savings", + "Federal taxable incentive income ($)": "cf_fed_taxable_incentive_income", + "Federal taxable income less deductions ($)": "cf_fed_taxable_income_less_deductions", + "Federal income tax rate (frac)": "cf_federal_tax_frac", + "Fuel cell replacement cost ($)": "cf_fuelcell_replacement_cost", + "Fuel cell replacement cost schedule ($/kW)": "cf_fuelcell_replacement_cost_schedule", + "Insurance expense ($)": "cf_insurance_expense", + "Federal ITC total income ($)": "cf_itc_fed", + "Federal ITC amount income ($)": "cf_itc_fed_amount", + "Federal ITC percent income ($)": "cf_itc_fed_percent_amount", + "State ITC total income ($)": "cf_itc_sta", + "State ITC amount income ($)": "cf_itc_sta_amount", + "State ITC percent income ($)": "cf_itc_sta_percent_amount", + "Total ITC income ($)": "itc_total", + "Land lease expense ($)": "cf_land_lease_expense", + "Number of periods in cash flow": "cf_length", + "Net salvage value ($)": "cf_net_salvage_value", + "NTE Not to exceed (cents/kWh)": "cf_nte", + "Annual cost for battery capacity based maintenance ($)": "cf_om_batt_capacity_expense", + "Annual fixed cost for battery maintenance ($)": "cf_om_batt_fixed_expense", + "O&M battery capacity-based expense ($)": "cf_om_capacity1_expense", + "O&M fuel cell capacity-based expense ($)": "cf_om_capacity2_expense", + "O&M capacity-based expense ($)": "cf_om_capacity_expense", + "O&M battery fixed expense ($)": "cf_om_fixed1_expense", + "O&M fuel cell fixed expense ($)": "cf_om_fixed2_expense", + "O&M fixed expense ($)": "cf_om_fixed_expense", + "Fuel expense ($)": "cf_om_fuel_expense", + "Feedstock biomass expense ($)": "cf_om_opt_fuel_1_expense", + "Feedstock coal expense ($)": "cf_om_opt_fuel_2_expense", + "O&M battery production-based expense ($)": "cf_om_production1_expense", + "O&M fuel cell production-based expense ($)": "cf_om_production2_expense", + "O&M production-based expense ($)": "cf_om_production_expense", + "Total operating expense ($)": "cf_operating_expenses", + "Parasitic load costs ($)": "cf_parasitic_cost", + "Simple payback with expenses ($)": "cf_payback_with_expenses", + "Simple payback without expenses ($)": "cf_payback_without_expenses", + "Federal taxable PBI income ($)": "cf_pbi_fedtax_total", + "State taxable PBI income ($)": "cf_pbi_statax_total", + "Total PBI income ($)": "cf_pbi_total", + "Federal PBI income ($)": "cf_pbi_total_fed", + "Other PBI income ($)": "cf_pbi_total_oth", + "State PBI income ($)": "cf_pbi_total_sta", + "Utility PBI income ($)": "cf_pbi_total_uti", + "Property tax net assessed value ($)": "cf_property_tax_assessed_value", + "Property tax expense ($)": "cf_property_tax_expense", + "Federal PTC income ($)": "cf_ptc_fed", + "State PTC income ($)": "cf_ptc_sta", + "Annual battery salvage value costs ($)": "cf_salvage_cost_lcos", + "Total tax savings (federal and state) ($)": "cf_sta_and_fed_tax_savings", + "State depreciation schedule (%)": "cf_sta_depr_sched", + "State depreciation ($)": "cf_sta_depreciation", + "State incentive income less deductions ($)": "cf_sta_incentive_income_less_deductions", + "State tax savings ($)": "cf_sta_tax_savings", + "State taxable incentive income ($)": "cf_sta_taxable_incentive_income", + "State taxable income less deductions ($)": "cf_sta_taxable_income_less_deductions", + "State income tax rate (frac)": "cf_state_tax_frac", + "Value of thermal savings ($)": "cf_thermal_value", + "Utility escalation rate": "cf_util_escal_rate", + "Electricity purchase ($)": "cf_utility_bill", + "Real estate value added ($)": "cf_value_added", + "Discounted payback period (years)": "discounted_payback", + "Effective tax rate (%)": "effective_tax_rate", + "Equity ($)": "size_of_equity", + "Federal taxable IBI income ($)": "ibi_fedtax_total", + "State taxable IBI income ($)": "ibi_statax_total", + "Total IBI income ($)": "ibi_total", + "Federal IBI income ($)": "ibi_total_fed", + "Other IBI income ($)": "ibi_total_oth", + "State IBI income ($)": "ibi_total_sta", + "Utility IBI income ($)": "ibi_total_uti", + "IRR Internal rate of return ($)": "irr", + "Federal ITC income ($)": "itc_total_fed", + "State ITC income ($)": "itc_total_sta", + "LCOE Levelized cost of energy nominal (cents/kWh)": "lcoe_nom", + "LCOE Levelized cost of energy real (cents/kWh)": "lcoe_real", + "Levelized federal PTC nominal (cents/kWh)": "lcoptc_fed_nom", + "Levelized federal PTC real (cents/kWh)": "lcoptc_fed_real", + "Levelized state PTC nominal (cents/kWh)": "lcoptc_sta_nom", + "Levelized state PTC real (cents/kWh)": "lcoptc_sta_real", + "LCOS Levelized cost of storage nominal (cents/kWh)": "lcos_nom", + "LCOS Levelized cost of storage real (cents/kWh)": "lcos_real", + "NTE Not to exceed nominal (cents/kWh)": "lnte_nom", + "NTE Not to exceed real (cents/kWh)": "lnte_real", + "Debt ($)": "loan_amount", + "Nominal discount rate (%)": "nominal_discount_rate", + "NPV Net present value ($)": "project_return_aftertax_npv", + "Present value of annual storage costs ($)": "npv_annual_costs_lcos", + "Present value of annual stored energy (nominal) (kWh)": "npv_energy_lcos_nom", + "Present value of annual stored energy (real) (kWh)": "npv_energy_lcos_real", + "Payback period (years)": "payback", + "Present value of fuel expenses ($)": "present_value_fuel", + "Present value of insurance and property tax ($)": "present_value_insandproptax", + "Present value of O&M expenses ($)": "present_value_oandm", + "Present value of non-fuel O&M expenses ($)": "present_value_oandm_nonfuel", + "Total installed cost ($)": "cost_prefinancing", + "WACC Weighted average cost of capital": "wacc", + "NTE Not to exceed Year 1 (cents/kWh)": "year1_nte", + "Initial cost less cash incentives ($)": "adjusted_installed_cost", + "IRR at end of analysis period (%)": "analysis_period_irr", + "Cash available for debt service (CAFDS) ($)": "cf_cash_for_ds", + "Annual costs ($)": "cf_annual_costs", + "Capacity payment revenue ($)": "cf_capacity_payment", + "Curtailment payment revenue ($)": "cf_curtailment_value", + "Debt interest payment ($)": "cf_debt_payment_interest", + "Debt principal payment ($)": "cf_debt_payment_principal", + "Debt total payment ($)": "cf_debt_payment_total", + "Size of debt ($)": "size_of_debt", + "Reserves debt service disbursement ($)": "cf_disbursement_debtservice", + "Reserves major equipment 1 disbursement ($)": "cf_disbursement_equip1", + "Reserves major equipment 2 disbursement ($)": "cf_disbursement_equip2", + "Reserves major equipment 3 disbursement ($)": "cf_disbursement_equip3", + "Reserves working capital disbursement ($)": "cf_disbursement_om", + "Reserves receivables disbursement ($)": "cf_disbursement_receivables", + "EBITDA ($)": "cf_ebitda", + "Electricity curtailed (kWh)": "cf_energy_curtailed", + "Electricity to grid net (kWh)": "cf_energy_net", + "Electricity from grid (kWh)": "cf_energy_purchases", + "Electricity to grid (kWh)": "cf_energy_sales", + "Energy produced by year in April (kWh)": "cf_energy_sales_apr", + "Energy produced by year in August (kWh)": "cf_energy_sales_aug", + "Energy produced by year in December (kWh)": "cf_energy_sales_dec", + "Energy produced by year in TOD period 1 (kWh)": "cf_energy_sales_dispatch1", + "Energy produced by year in TOD period 2 (kWh)": "cf_energy_sales_dispatch2", + "Energy produced by year in TOD period 3 (kWh)": "cf_energy_sales_dispatch3", + "Energy produced by year in TOD period 4 (kWh)": "cf_energy_sales_dispatch4", + "Energy produced by year in TOD period 5 (kWh)": "cf_energy_sales_dispatch5", + "Energy produced by year in TOD period 6 (kWh)": "cf_energy_sales_dispatch6", + "Energy produced by year in TOD period 7 (kWh)": "cf_energy_sales_dispatch7", + "Energy produced by year in TOD period 8 (kWh)": "cf_energy_sales_dispatch8", + "Energy produced by year in TOD period 9 (kWh)": "cf_energy_sales_dispatch9", + "Energy produced by year in February (kWh)": "cf_energy_sales_feb", + "Energy produced by year in January (kWh)": "cf_energy_sales_jan", + "Energy produced by year in July (kWh)": "cf_energy_sales_jul", + "Energy produced by year in June (kWh)": "cf_energy_sales_jun", + "Energy produced by year in March (kWh)": "cf_energy_sales_mar", + "Energy produced by year in May (kWh)": "cf_energy_sales_may", + "Energy produced in Year 1 by month for TOD period 1 (kWh)": "cf_energy_sales_monthly_firstyear_TOD1", + "Energy produced in Year 1 by month for TOD period 2 (kWh)": "cf_energy_sales_monthly_firstyear_TOD2", + "Energy produced in Year 1 by month for TOD period 3 (kWh)": "cf_energy_sales_monthly_firstyear_TOD3", + "Energy produced in Year 1 by month for TOD period 4 (kWh)": "cf_energy_sales_monthly_firstyear_TOD4", + "Energy produced in Year 1 by month for TOD period 5 (kWh)": "cf_energy_sales_monthly_firstyear_TOD5", + "Energy produced in Year 1 by month for TOD period 6 (kWh)": "cf_energy_sales_monthly_firstyear_TOD6", + "Energy produced in Year 1 by month for TOD period 7 (kWh)": "cf_energy_sales_monthly_firstyear_TOD7", + "Energy produced in Year 1 by month for TOD period 8 (kWh)": "cf_energy_sales_monthly_firstyear_TOD8", + "Energy produced in Year 1 by month for TOD period 9 (kWh)": "cf_energy_sales_monthly_firstyear_TOD9", + "Energy produced by year in November (kWh)": "cf_energy_sales_nov", + "Energy produced by year in October (kWh)": "cf_energy_sales_oct", + "Energy produced by year in September (kWh)": "cf_energy_sales_sep", + "PPA revenue ($)": "cf_energy_value", + "Electricity generated without storage (kWh)": "cf_energy_without_battery", + "Federal depreciation from custom ($)": "cf_feddepr_custom", + "Federal depreciation from 15-yr MACRS ($)": "cf_feddepr_macrs_15", + "Federal depreciation from 5-yr MACRS ($)": "cf_feddepr_macrs_5", + "Federal depreciation from major equipment 1 ($)": "cf_feddepr_me1", + "Federal depreciation from major equipment 2 ($)": "cf_feddepr_me2", + "Federal depreciation from major equipment 3 ($)": "cf_feddepr_me3", + "Federal depreciation from 15-yr straight line ($)": "cf_feddepr_sl_15", + "Federal depreciation from 20-yr straight line ($)": "cf_feddepr_sl_20", + "Federal depreciation from 39-yr straight line ($)": "cf_feddepr_sl_39", + "Federal depreciation from 5-yr straight line ($)": "cf_feddepr_sl_5", + "Total federal tax depreciation ($)": "cf_feddepr_total", + "Federal tax benefit (liability) ($)": "cf_fedtax", + "Federal taxable income without incentives ($)": "cf_fedtax_income_prior_incentives", + "Federal taxable income ($)": "cf_fedtax_income_with_incentives", + "Federal taxable incentives ($)": "cf_fedtax_taxable_incentives", + "Reserves debt service funding ($)": "cf_funding_debtservice", + "Reserves major equipment 1 funding ($)": "cf_funding_equip1", + "Reserves major equipment 2 funding ($)": "cf_funding_equip2", + "Reserves major equipment 3 funding ($)": "cf_funding_equip3", + "Reserves working capital funding ($)": "cf_funding_om", + "Reserves receivables funding ($)": "cf_funding_receivables", + "Number of periods in cashflow": "cf_length", + "Salvage value ($)": "cf_net_salvage_value", + "Total operating expenses ($)": "cf_operating_expenses", + "PPA price (cents/kWh)": "cf_ppa_price", + "Total pre-tax cash flow ($)": "cf_pretax_cashflow", + "DSCR (pre-tax)": "cf_pretax_dscr", + "Reserve (increase)/decrease debt service ($)": "cf_project_dsra", + "Cash flow from financing activities ($)": "cf_project_financing_activities", + "Cash flow from investing activities ($)": "cf_project_investing_activities", + "Reserve capital spending major equipment 1 ($)": "cf_project_me1cs", + "Reserve (increase)/decrease major equipment 1 ($)": "cf_project_me1ra", + "Reserve capital spending major equipment 2 ($)": "cf_project_me2cs", + "Reserve (increase)/decrease major equipment 2 ($)": "cf_project_me2ra", + "Reserve capital spending major equipment 3 ($)": "cf_project_me3cs", + "Reserve (increase)/decrease major equipment 3 ($)": "cf_project_me3ra", + "Reserve capital spending major equipment total ($)": "cf_project_mecs", + "Cash flow from operating activities ($)": "cf_project_operating_activities", + "Reserve (increase)/decrease total reserve account ($)": "cf_project_ra", + "Reserve (increase)/decrease receivables ($)": "cf_project_receivablesra", + "Total after-tax returns ($)": "cf_project_return_aftertax", + "Total after-tax cash returns ($)": "cf_project_return_aftertax_cash", + "After-tax cumulative IRR (%)": "cf_project_return_aftertax_irr", + "After-tax project maximum IRR (%)": "cf_project_return_aftertax_max_irr", + "After-tax cumulative NPV ($)": "cf_project_return_aftertax_npv", + "Total pre-tax returns ($)": "cf_project_return_pretax", + "Pre-tax cumulative IRR (%)": "cf_project_return_pretax_irr", + "Pre-tax cumulative NPV ($)": "cf_project_return_pretax_npv", + "Reserve (increase)/decrease working capital ($)": "cf_project_wcra", + "Present value of CAFDS ($)": "pv_cafds", + "Present value interest factor for CAFDS": "cf_pv_interest_factor", + "Recapitalization operating expense ($)": "cf_recapitalization", + "Reserves debt service balance ($)": "cf_reserve_debtservice", + "Reserves major equipment 1 balance ($)": "cf_reserve_equip1", + "Reserves major equipment 2 balance ($)": "cf_reserve_equip2", + "Reserves major equipment 3 balance ($)": "cf_reserve_equip3", + "Interest earned on reserves ($)": "cf_reserve_interest", + "Reserves working capital balance ($)": "cf_reserve_om", + "Reserves receivables balance ($)": "cf_reserve_receivables", + "Reserves total reserves balance ($)": "cf_reserve_total", + "PPA revenue by year for April ($)": "cf_revenue_apr", + "PPA revenue by year for August ($)": "cf_revenue_aug", + "PPA revenue by year for December ($)": "cf_revenue_dec", + "PPA revenue by year for TOD period 1 ($)": "cf_revenue_dispatch1", + "PPA revenue by year for TOD period 2 ($)": "cf_revenue_dispatch2", + "PPA revenue by year for TOD period 3 ($)": "cf_revenue_dispatch3", + "PPA revenue by year for TOD period 4 ($)": "cf_revenue_dispatch4", + "PPA revenue by year for TOD period 5 ($)": "cf_revenue_dispatch5", + "PPA revenue by year for TOD period 6 ($)": "cf_revenue_dispatch6", + "PPA revenue by year for TOD period 7 ($)": "cf_revenue_dispatch7", + "PPA revenue by year for TOD period 8 ($)": "cf_revenue_dispatch8", + "PPA revenue by year for TOD period 9 ($)": "cf_revenue_dispatch9", + "PPA revenue by year for February ($)": "cf_revenue_feb", + "PPA revenue by year for January ($)": "cf_revenue_jan", + "PPA revenue by year for July ($)": "cf_revenue_jul", + "PPA revenue by year for June ($)": "cf_revenue_jun", + "PPA revenue by year for March ($)": "cf_revenue_mar", + "PPA revenue by year for May ($)": "cf_revenue_may", + "PPA revenue in Year 1 by month for TOD period 1 ($)": "cf_revenue_monthly_firstyear_TOD1", + "PPA revenue in Year 1 by month for TOD period 2 ($)": "cf_revenue_monthly_firstyear_TOD2", + "PPA revenue in Year 1 by month for TOD period 3 ($)": "cf_revenue_monthly_firstyear_TOD3", + "PPA revenue in Year 1 by month for TOD period 4 ($)": "cf_revenue_monthly_firstyear_TOD4", + "PPA revenue in Year 1 by month for TOD period 5 ($)": "cf_revenue_monthly_firstyear_TOD5", + "PPA revenue in Year 1 by month for TOD period 6 ($)": "cf_revenue_monthly_firstyear_TOD6", + "PPA revenue in Year 1 by month for TOD period 7 ($)": "cf_revenue_monthly_firstyear_TOD7", + "PPA revenue in Year 1 by month for TOD period 8 ($)": "cf_revenue_monthly_firstyear_TOD8", + "PPA revenue in Year 1 by month for TOD period 9 ($)": "cf_revenue_monthly_firstyear_TOD9", + "PPA revenue by year for November ($)": "cf_revenue_nov", + "PPA revenue by year for October ($)": "cf_revenue_oct", + "PPA revenue by year for September ($)": "cf_revenue_sep", + "State depreciation from custom ($)": "cf_stadepr_custom", + "State depreciation from 15-yr MACRS ($)": "cf_stadepr_macrs_15", + "State depreciation from 5-yr MACRS ($)": "cf_stadepr_macrs_5", + "State depreciation from major equipment 1 ($)": "cf_stadepr_me1", + "State depreciation from major equipment 2 ($)": "cf_stadepr_me2", + "State depreciation from major equipment 3 ($)": "cf_stadepr_me3", + "State depreciation from 15-yr straight line ($)": "cf_stadepr_sl_15", + "State depreciation from 20-yr straight line ($)": "cf_stadepr_sl_20", + "State depreciation from 39-yr straight line ($)": "cf_stadepr_sl_39", + "State depreciation from 5-yr straight line ($)": "cf_stadepr_sl_5", + "Total state tax depreciation ($)": "cf_stadepr_total", + "State tax benefit (liability) ($)": "cf_statax", + "State taxable income without incentives ($)": "cf_statax_income_prior_incentives", + "State taxable income ($)": "cf_statax_income_with_incentives", + "State taxable incentives ($)": "cf_statax_taxable_incentives", + "Thermal revenue ($)": "cf_thermal_value", + "Total revenue ($)": "cf_total_revenue", + "Debt up-front fee ($)": "cost_debt_upfront", + "Total financing cost ($)": "cost_financing", + "Net capital cost per watt ($/W)": "cost_installedperwatt", + "Debt percent (%)": "debt_fraction", + "Custom straight line depreciation federal and state allocation ($)": "depr_alloc_custom", + "15-yr MACRS depreciation federal and state allocation ($)": "depr_alloc_macrs_15", + "5-yr MACRS depreciation federal and state allocation ($)": "depr_alloc_macrs_5", + "Non-depreciable federal and state allocation ($)": "depr_alloc_none", + "Non-depreciable federal and state allocation (%)": "depr_alloc_none_percent", + "15-yr straight line depreciation federal and state allocation ($)": "depr_alloc_sl_15", + "20-yr straight line depreciation federal and state allocation ($)": "depr_alloc_sl_20", + "39-yr straight line depreciation federal and state allocation ($)": "depr_alloc_sl_39", + "5-yr straight line depreciation federal and state allocation ($)": "depr_alloc_sl_5", + "Total depreciation federal and state allocation ($)": "depr_alloc_total", + "Custom straight line federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_custom", + "15-yr MACRS federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_macrs_15", + "5-yr MACRS federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_macrs_5", + "15-yr straight line federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_sl_15", + "20-yr straight line federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_sl_20", + "39-yr straight line federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_sl_39", + "5-yr straight line federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_sl_5", + "Total federal depreciation basis after ITC reduction ($)": "depr_fedbas_after_itc_total", + "Custom straight line federal CBI reduction ($)": "depr_fedbas_cbi_reduc_custom", + "15-yr MACRS federal CBI reduction ($)": "depr_fedbas_cbi_reduc_macrs_15", + "5-yr MACRS federal CBI reduction ($)": "depr_fedbas_cbi_reduc_macrs_5", + "15-yr straight line federal CBI reduction ($)": "depr_fedbas_cbi_reduc_sl_15", + "20-yr straight line federal CBI reduction ($)": "depr_fedbas_cbi_reduc_sl_20", + "39-yr straight line federal CBI reduction ($)": "depr_fedbas_cbi_reduc_sl_39", + "5-yr straight line federal CBI reduction ($)": "depr_fedbas_cbi_reduc_sl_5", + "Total federal CBI reduction ($)": "depr_fedbas_cbi_reduc_total", + "Custom straight line federal depreciation basis ($)": "depr_fedbas_custom", + "Custom straight line federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_custom", + "15-yr MACRS federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_macrs_15", + "5-yr MACRS federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_macrs_5", + "15-yr straight line federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_sl_15", + "20-yr straight line federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_sl_20", + "39-yr straight line federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_sl_39", + "5-yr straight line federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_sl_5", + "Total federal first year bonus depreciation ($)": "depr_fedbas_first_year_bonus_total", + "Custom straight line depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_custom", + "15-yr MACRS depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_macrs_15", + "5-yr MACRS depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_macrs_5", + "15-yr straight line depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_sl_15", + "20-yr straight line depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_sl_20", + "39-yr straight line depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_sl_39", + "5-yr straight line depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_sl_5", + "Total depreciation ITC basis from federal fixed amount ($)": "depr_fedbas_fixed_amount_total", + "Custom straight line federal IBI reduction ($)": "depr_fedbas_ibi_reduc_custom", + "15-yr MACRS federal IBI reduction ($)": "depr_fedbas_ibi_reduc_macrs_15", + "5-yr MACRS federal IBI reduction ($)": "depr_fedbas_ibi_reduc_macrs_5", + "15-yr straight line federal IBI reduction ($)": "depr_fedbas_ibi_reduc_sl_15", + "20-yr straight line federal IBI reduction ($)": "depr_fedbas_ibi_reduc_sl_20", + "39-yr straight line federal IBI reduction ($)": "depr_fedbas_ibi_reduc_sl_39", + "5-yr straight line federal IBI reduction ($)": "depr_fedbas_ibi_reduc_sl_5", + "Total federal IBI reduction ($)": "depr_fedbas_ibi_reduc_total", + "Custom straight line federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_custom", + "15-yr MACRS federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_macrs_15", + "5-yr MACRS federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_macrs_5", + "15-yr straight line federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_sl_15", + "20-yr straight line federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_sl_20", + "39-yr straight line federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_sl_39", + "5-yr straight line federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_sl_5", + "Total federal basis federal ITC reduction ($)": "depr_fedbas_itc_fed_reduction_total", + "Custom straight line federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_custom", + "15-yr MACRS federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_macrs_15", + "5-yr MACRS federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_macrs_5", + "15-yr straight line federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_sl_15", + "20-yr straight line federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_sl_20", + "39-yr straight line federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_sl_39", + "5-yr straight line federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_sl_5", + "Total federal basis state ITC reduction ($)": "depr_fedbas_itc_sta_reduction_total", + "15-yr MACRS federal depreciation basis ($)": "depr_fedbas_macrs_15", + "5-yr MACRS federal depreciation basis ($)": "depr_fedbas_macrs_5", + "Custom straight line depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_custom", + "15-yr MACRS depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_macrs_15", + "5-yr MACRS depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_macrs_5", + "15-yr straight line depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_sl_15", + "20-yr straight line depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_sl_20", + "39-yr straight line depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_sl_39", + "5-yr straight line depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_sl_5", + "Total depreciation ITC basis from federal percentage ($)": "depr_fedbas_percent_amount_total", + "Custom straight line federal percent of total depreciable basis (%)": "depr_fedbas_percent_custom", + "15-yr MACRS federal percent of total depreciable basis (%)": "depr_fedbas_percent_macrs_15", + "5-yr MACRS federal percent of total depreciable basis (%)": "depr_fedbas_percent_macrs_5", + "Custom straight line federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_custom", + "15-yr MACRS federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_macrs_15", + "5-yr MACRS federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_macrs_5", + "15-yr straight line federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_sl_15", + "20-yr straight line federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_sl_20", + "39-yr straight line federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_sl_39", + "5-yr straight line federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_sl_5", + "Total federal percent of qualifying costs (%)": "depr_fedbas_percent_qual_total", + "15-yr straight line federal percent of total depreciable basis (%)": "depr_fedbas_percent_sl_15", + "20-yr straight line federal percent of total depreciable basis (%)": "depr_fedbas_percent_sl_20", + "39-yr straight line federal percent of total depreciable basis (%)": "depr_fedbas_percent_sl_39", + "5-yr straight line federal percent of total depreciable basis (%)": "depr_fedbas_percent_sl_5", + "Total federal percent of total depreciable basis (%)": "depr_fedbas_percent_total", + "Custom straight line federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_custom", + "15-yr MACRS federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_macrs_15", + "5-yr MACRS federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_macrs_5", + "15-yr straight line federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_sl_15", + "20-yr straight line federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_sl_20", + "39-yr straight line federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_sl_39", + "5-yr straight line federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_sl_5", + "Total federal depreciation basis prior ITC reduction ($)": "depr_fedbas_prior_itc_total", + "15-yr straight line federal depreciation basis ($)": "depr_fedbas_sl_15", + "20-yr straight line federal depreciation basis ($)": "depr_fedbas_sl_20", + "39-yr straight line federal depreciation basis ($)": "depr_fedbas_sl_39", + "5-yr straight line federal depreciation basis ($)": "depr_fedbas_sl_5", + "Total federal depreciation basis ($)": "depr_fedbas_total", + "Custom straight line state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_custom", + "15-yr MACRS state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_macrs_15", + "5-yr MACRS state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_macrs_5", + "15-yr straight line state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_sl_15", + "20-yr straight line state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_sl_20", + "39-yr straight line state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_sl_39", + "5-yr straight line state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_sl_5", + "Total state depreciation basis after ITC reduction ($)": "depr_stabas_after_itc_total", + "Custom straight line state CBI reduction ($)": "depr_stabas_cbi_reduc_custom", + "15-yr MACRS state CBI reduction ($)": "depr_stabas_cbi_reduc_macrs_15", + "5-yr MACRS state CBI reduction ($)": "depr_stabas_cbi_reduc_macrs_5", + "15-yr straight line state CBI reduction ($)": "depr_stabas_cbi_reduc_sl_15", + "20-yr straight line state CBI reduction ($)": "depr_stabas_cbi_reduc_sl_20", + "39-yr straight line state CBI reduction ($)": "depr_stabas_cbi_reduc_sl_39", + "5-yr straight line state CBI reduction ($)": "depr_stabas_cbi_reduc_sl_5", + "Total state CBI reduction ($)": "depr_stabas_cbi_reduc_total", + "Custom straight line state depreciation basis ($)": "depr_stabas_custom", + "Custom straight line state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_custom", + "15-yr MACRS state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_macrs_15", + "5-yr MACRS state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_macrs_5", + "15-yr straight line state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_sl_15", + "20-yr straight line state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_sl_20", + "39-yr straight line state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_sl_39", + "5-yr straight line state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_sl_5", + "Total state first year bonus depreciation ($)": "depr_stabas_first_year_bonus_total", + "Custom straight line depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_custom", + "15-yr MACRS depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_macrs_15", + "5-yr MACRS depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_macrs_5", + "15-yr straight line depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_sl_15", + "20-yr straight line depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_sl_20", + "39-yr straight line depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_sl_39", + "5-yr straight line depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_sl_5", + "Total depreciation ITC basis from state fixed amount ($)": "depr_stabas_fixed_amount_total", + "Custom straight line state IBI reduction ($)": "depr_stabas_ibi_reduc_custom", + "15-yr MACRS state IBI reduction ($)": "depr_stabas_ibi_reduc_macrs_15", + "5-yr MACRS state IBI reduction ($)": "depr_stabas_ibi_reduc_macrs_5", + "15-yr straight line state IBI reduction ($)": "depr_stabas_ibi_reduc_sl_15", + "20-yr straight line state IBI reduction ($)": "depr_stabas_ibi_reduc_sl_20", + "39-yr straight line state IBI reduction ($)": "depr_stabas_ibi_reduc_sl_39", + "5-yr straight line state IBI reduction ($)": "depr_stabas_ibi_reduc_sl_5", + "Total state IBI reduction ($)": "depr_stabas_ibi_reduc_total", + "Custom straight line state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_custom", + "15-yr MACRS state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_macrs_15", + "5-yr MACRS state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_macrs_5", + "15-yr straight line state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_sl_15", + "20-yr straight line state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_sl_20", + "39-yr straight line state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_sl_39", + "5-yr straight line state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_sl_5", + "Total state basis federal ITC reduction ($)": "depr_stabas_itc_fed_reduction_total", + "Custom straight line state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_custom", + "15-yr MACRS state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_macrs_15", + "5-yr MACRS state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_macrs_5", + "15-yr straight line state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_sl_15", + "20-yr straight line state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_sl_20", + "39-yr straight line state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_sl_39", + "5-yr straight line state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_sl_5", + "Total state basis state ITC reduction ($)": "depr_stabas_itc_sta_reduction_total", + "15-yr MACRS state depreciation basis ($)": "depr_stabas_macrs_15", + "5-yr MACRS state depreciation basis ($)": "depr_stabas_macrs_5", + "Custom straight line depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_custom", + "15-yr MACRS depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_macrs_15", + "5-yr MACRS depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_macrs_5", + "15-yr straight line depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_sl_15", + "20-yr straight line depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_sl_20", + "39-yr straight line depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_sl_39", + "5-yr straight line depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_sl_5", + "Total depreciation ITC basis from state percentage ($)": "depr_stabas_percent_amount_total", + "Custom straight line state percent of total depreciable basis (%)": "depr_stabas_percent_custom", + "15-yr MACRS state percent of total depreciable basis (%)": "depr_stabas_percent_macrs_15", + "5-yr MACRS state percent of total depreciable basis (%)": "depr_stabas_percent_macrs_5", + "Custom straight line state percent of qualifying costs (%)": "depr_stabas_percent_qual_custom", + "15-yr MACRS state percent of qualifying costs (%)": "depr_stabas_percent_qual_macrs_15", + "5-yr MACRS state percent of qualifying costs (%)": "depr_stabas_percent_qual_macrs_5", + "15-yr straight line state percent of qualifying costs (%)": "depr_stabas_percent_qual_sl_15", + "20-yr straight line state percent of qualifying costs (%)": "depr_stabas_percent_qual_sl_20", + "39-yr straight line state percent of qualifying costs (%)": "depr_stabas_percent_qual_sl_39", + "5-yr straight line state percent of qualifying costs (%)": "depr_stabas_percent_qual_sl_5", + "Total state percent of qualifying costs (%)": "depr_stabas_percent_qual_total", + "15-yr straight line state percent of total depreciable basis (%)": "depr_stabas_percent_sl_15", + "20-yr straight line state percent of total depreciable basis (%)": "depr_stabas_percent_sl_20", + "39-yr straight line state percent of total depreciable basis (%)": "depr_stabas_percent_sl_39", + "5-yr straight line state percent of total depreciable basis (%)": "depr_stabas_percent_sl_5", + "Total state percent of total depreciable basis (%)": "depr_stabas_percent_total", + "Custom straight line state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_custom", + "15-yr MACRS state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_macrs_15", + "5-yr MACRS state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_macrs_5", + "15-yr straight line state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_sl_15", + "20-yr straight line state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_sl_20", + "39-yr straight line state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_sl_39", + "5-yr straight line state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_sl_5", + "Total state depreciation basis prior ITC reduction ($)": "depr_stabas_prior_itc_total", + "15-yr straight line state depreciation basis ($)": "depr_stabas_sl_15", + "20-yr straight line state depreciation basis ($)": "depr_stabas_sl_20", + "39-yr straight line state depreciation basis ($)": "depr_stabas_sl_39", + "5-yr straight line state depreciation basis ($)": "depr_stabas_sl_5", + "Total state depreciation basis ($)": "depr_stabas_total", + "Energy produced in Year 1 TOD period 1 (kWh)": "firstyear_energy_dispatch1", + "Energy produced in Year 1 TOD period 2 (kWh)": "firstyear_energy_dispatch2", + "Energy produced in Year 1 TOD period 3 (kWh)": "firstyear_energy_dispatch3", + "Energy produced in Year 1 TOD period 4 (kWh)": "firstyear_energy_dispatch4", + "Energy produced in Year 1 TOD period 5 (kWh)": "firstyear_energy_dispatch5", + "Energy produced in Year 1 TOD period 6 (kWh)": "firstyear_energy_dispatch6", + "Energy produced in Year 1 TOD period 7 (kWh)": "firstyear_energy_dispatch7", + "Energy produced in Year 1 TOD period 8 (kWh)": "firstyear_energy_dispatch8", + "Energy produced in Year 1 TOD period 9 (kWh)": "firstyear_energy_dispatch9", + "Power price in Year 1 TOD period 1 (cents/kWh)": "firstyear_energy_price1", + "Power price in Year 1 TOD period 2 (cents/kWh)": "firstyear_energy_price2", + "Power price in Year 1 TOD period 3 (cents/kWh)": "firstyear_energy_price3", + "Power price in Year 1 TOD period 4 (cents/kWh)": "firstyear_energy_price4", + "Power price in Year 1 TOD period 5 (cents/kWh)": "firstyear_energy_price5", + "Power price in Year 1 TOD period 6 (cents/kWh)": "firstyear_energy_price6", + "Power price in Year 1 TOD period 7 (cents/kWh)": "firstyear_energy_price7", + "Power price in Year 1 TOD period 8 (cents/kWh)": "firstyear_energy_price8", + "Power price in Year 1 TOD period 9 (cents/kWh)": "firstyear_energy_price9", + "PPA revenue in Year 1 TOD period 1 ($)": "firstyear_revenue_dispatch1", + "PPA revenue in Year 1 TOD period 2 ($)": "firstyear_revenue_dispatch2", + "PPA revenue in Year 1 TOD period 3 ($)": "firstyear_revenue_dispatch3", + "PPA revenue in Year 1 TOD period 4 ($)": "firstyear_revenue_dispatch4", + "PPA revenue in Year 1 TOD period 5 ($)": "firstyear_revenue_dispatch5", + "PPA revenue in Year 1 TOD period 6 ($)": "firstyear_revenue_dispatch6", + "PPA revenue in Year 1 TOD period 7 ($)": "firstyear_revenue_dispatch7", + "PPA revenue in Year 1 TOD period 8 ($)": "firstyear_revenue_dispatch8", + "PPA revenue in Year 1 TOD period 9 ($)": "firstyear_revenue_dispatch9", + "IRR in target year (%)": "flip_actual_irr", + "Year target IRR was achieved (year)": "flip_actual_year", + "IRR target (%)": "flip_target_irr", + "Target year to meet IRR": "flip_target_year", + "Issuance of equity ($)": "issuance_of_equity", + "Custom straight line depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_custom", + "15-yr MACRS depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_macrs_15", + "5-yr MACRS depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_macrs_5", + "15-yr straight line depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_sl_15", + "20-yr straight line depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_sl_20", + "39-yr straight line depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_sl_39", + "5-yr straight line depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_sl_5", + "Total depreciation ITC basis disallowance from federal fixed amount ($)": "itc_disallow_fed_fixed_total", + "Custom straight line depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_custom", + "15-yr MACRS depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_macrs_15", + "5-yr MACRS depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_macrs_5", + "15-yr straight line depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_sl_15", + "20-yr straight line depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_sl_20", + "39-yr straight line depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_sl_39", + "5-yr straight line depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_sl_5", + "Total depreciation ITC basis disallowance from federal percentage ($)": "itc_disallow_fed_percent_total", + "Custom straight line depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_custom", + "15-yr MACRS depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_macrs_15", + "5-yr MACRS depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_macrs_5", + "15-yr straight line depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_sl_15", + "20-yr straight line depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_sl_20", + "39-yr straight line depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_sl_39", + "5-yr straight line depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_sl_5", + "Total depreciation ITC basis disallowance from state fixed amount ($)": "itc_disallow_sta_fixed_total", + "Custom straight line depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_custom", + "15-yr MACRS depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_macrs_15", + "5-yr MACRS depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_macrs_5", + "15-yr straight line depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_sl_15", + "20-yr straight line depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_sl_20", + "39-yr straight line depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_sl_39", + "5-yr straight line depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_sl_5", + "Total depreciation ITC basis disallowance from state percentage ($)": "itc_disallow_sta_percent_total", + "Federal ITC fixed total ($)": "itc_fed_fixed_total", + "Federal ITC percent total ($)": "itc_fed_percent_total", + "Custom straight line depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_custom", + "15-yr MACRS depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_macrs_15", + "5-yr MACRS depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_macrs_5", + "15-yr straight line depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_sl_15", + "20-yr straight line depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_sl_20", + "39-yr straight line depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_sl_39", + "5-yr straight line depreciation federal ITC adj qualifying costs ($)": "itc_fed_qual_sl_5", + "Total federal ITC adj qualifying costs ($)": "itc_fed_qual_total", + "State ITC fixed total ($)": "itc_sta_fixed_total", + "State ITC percent total ($)": "itc_sta_percent_total", + "Custom straight line depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_custom", + "15-yr MACRS depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_macrs_15", + "5-yr MACRS depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_macrs_5", + "15-yr straight line depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_sl_15", + "20-yr straight line depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_sl_20", + "39-yr straight line depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_sl_39", + "5-yr straight line depreciation state ITC adj qualifying costs ($)": "itc_sta_qual_sl_5", + "Total state ITC adj qualifying costs ($)": "itc_sta_qual_total", + "LPPA Levelized PPA price nominal (cents/kWh)": "lppa_nom", + "LPPA Levelized PPA price real (cents/kWh)": "lppa_real", + "Minimum DSCR": "min_dscr", + "Present value of annual costs ($)": "npv_annual_costs", + "Present value of capacity payment revenue ($)": "npv_capacity_revenue", + "Present value of curtailment payment revenue ($)": "npv_curtailment_revenue", + "Present value of annual energy nominal (kWh)": "npv_energy_nom", + "Present value of annual energy real (kWh)": "npv_energy_real", + "Present value of federal PBI income ($)": "npv_fed_pbi_income", + "Present value of other PBI income ($)": "npv_oth_pbi_income", + "Present value of PPA revenue ($)": "npv_ppa_revenue", + "Present value of salvage value ($)": "npv_salvage_value", + "Present value of state PBI income ($)": "npv_sta_pbi_income", + "Present value of thermal value ($)": "npv_thermal_value", + "Present value of utility PBI income ($)": "npv_uti_pbi_income", + "PPA price in Year 1 (cents/kWh)": "ppa", + "PPA price escalation (%/year)": "ppa_escalation", + "TOD factors": "ppa_multipliers", + "PPA price in first year (cents/kWh)": "ppa_price", + "Depreciable basis prior to allocation ($)": "pre_depr_alloc_basis", + "ITC basis prior to qualification ($)": "pre_itc_qual_basis", + "Present value of fuel O&M ($)": "present_value_fuel", + "Present value of insurance and prop tax ($)": "present_value_insandproptax", + "Present value of O&M ($)": "present_value_oandm", + "Present value of non-fuel O&M ($)": "present_value_oandm_nonfuel", + "IRR Internal rate of return (%)": "project_return_aftertax_irr", + "Assessed value of property for tax purposes ($)": "prop_tax_assessed_value", + "Purchase of property ($)": "purchase_of_property", + "Electricity to grid (kW)": "revenue_gen", + "Net pre-tax cash salvage value ($)": "salvage_value", + "WACC Weighted average cost of capital ($)": "wacc" +} diff --git a/src/geophires_x_client/geophires_x_result.py b/src/geophires_x_client/geophires_x_result.py index 61bc3781d..e1ea2c464 100644 --- a/src/geophires_x_client/geophires_x_result.py +++ b/src/geophires_x_client/geophires_x_result.py @@ -2,12 +2,17 @@ import csv import json +import math import re from io import StringIO from pathlib import Path from types import MappingProxyType +from typing import Any from typing import ClassVar +from geophires_x.GeoPHIRESUtils import is_float +from geophires_x.GeoPHIRESUtils import is_int + from .common import _get_logger from .geophires_input_parameters import EndUseOption @@ -62,6 +67,9 @@ class GeophiresXResult: 'ECONOMIC PARAMETERS': [ _EqualSignDelimitedField('Economic Model'), 'Interest Rate', # % + 'WACC', + 'Real Discount Rate', + 'Nominal Discount Rate', 'Accrued financing during construction', 'Project lifetime', 'Capacity factor', @@ -402,6 +410,10 @@ def __init__(self, output_file_path, logger_name=None): if sdacgt_profile is not None: self.result['S-DAC-GT PROFILE'] = sdacgt_profile + sam_cash_flow_profile = self._get_sam_cash_flow_profile() + if sam_cash_flow_profile is not None: + self.result['SAM CASH FLOW PROFILE'] = sam_cash_flow_profile + self.result['metadata'] = {'output_file_path': self.output_file_path} for metadata_field in GeophiresXResult._METADATA_FIELDS: self.result['metadata'][metadata_field] = self._get_equal_sign_delimited_field(metadata_field) @@ -449,7 +461,7 @@ def __init__(self, v_u): v_u = ValueUnit(value_unit) csv_entries.append([category, field_display, '', v_u.value_display, v_u.unit_display]) else: - if category not in ( + if category in ( 'POWER GENERATION PROFILE', 'HEAT AND/OR ELECTRICITY EXTRACTION AND GENERATION PROFILE', 'EXTENDED ECONOMIC PROFILE', @@ -458,26 +470,50 @@ def __init__(self, v_u): GeophiresXResult.CCUS_PROFILE_LEGACY_NAME, 'S-DAC-GT PROFILE', ): - raise RuntimeError('unexpected category') - - for i in range(len(fields[0][1:])): - field_profile = fields[0][i + 1] - unit_split = field_profile.split(' (') - field_display = unit_split[0] - unit_display = '' - if len(unit_split) > 1: - unit_display = unit_split[1].replace(')', '') - for j in range(len(fields[1:])): - year_entry = fields[j + 1] - year = year_entry[0] - profile_year_val = year_entry[i + 1] - csv_entries.append([category, field_display, year, profile_year_val, unit_display]) + + for i in range(len(fields[0][1:])): + field_profile = fields[0][i + 1] + name_unit_split = field_profile.split(' (') + field_display = name_unit_split[0] + unit_display = '' + if len(name_unit_split) > 1: + unit_display = name_unit_split[1].replace(')', '') + for j in range(len(fields[1:])): + year_entry = fields[j + 1] + year = year_entry[0] + profile_year_val = year_entry[i + 1] + csv_entries.append([category, field_display, year, profile_year_val, unit_display]) + elif category == 'SAM CASH FLOW PROFILE': + for row_num in range(len(fields) - 1): + row_idx = row_num + 1 + row_data = fields[row_idx] + if len(row_data) > 1: + name_unit_split = GeophiresXResult._get_sam_cash_flow_row_name_unit_split( + fields[row_idx][0] + ) + row_name = name_unit_split[0] + unit_display = name_unit_split[1] + for year in range(len(row_data) - 1): + row_datapoint = row_data[year + 1] + csv_entries.append([category, row_name, year, row_datapoint, unit_display]) + + else: + raise RuntimeError(f'Unexpected category: {category}') for csv_entry in csv_entries: w.writerow(csv_entry) return f.getvalue() + @staticmethod + def _get_sam_cash_flow_row_name_unit_split(first_entry_in_row) -> list[str]: + name_unit_split = [it[::-1] for it in first_entry_in_row[::-1].split('( ', maxsplit=1)][::-1] + if len(name_unit_split) < 2: + name_unit_split.append('') + + name_unit_split[1] = name_unit_split[1].replace(')', '') + return name_unit_split + @property def json_output_file_path(self) -> Path: return Path(self.output_file_path).with_suffix('.json') @@ -726,6 +762,44 @@ def extract_table_header(lines: list) -> list: self._logger.debug(f'Failed to get legacy {GeophiresXResult.CCUS_PROFILE_LEGACY_NAME}: {e}') return None + def _get_sam_cash_flow_profile(self) -> list[Any]: + profile_name = 'SAM CASH FLOW PROFILE' + + try: + s1 = f'* {profile_name} *' + _lines_joined = ''.join(self._lines) + if s1 not in _lines_joined: + return None + + profile_text = _lines_joined.split(s1)[1] + profile_text = re.split(r'^\s*-{20,}\s*$\n?', profile_text, flags=re.MULTILINE)[1] + rd = csv.reader(StringIO(profile_text), delimiter='\t', skipinitialspace=True) + profile_lines = [] + for row in rd: + row_clean = [] + for entry_display in row: + row_clean.append( + GeophiresXResult._get_sam_cash_flow_profile_entry_display_to_entry_val(entry_display) + ) + profile_lines.append(row_clean) + + return profile_lines + except BaseException as e: + self._logger.debug(f'Failed to get SAM cash flow profile: {e}') + return None + + @staticmethod + def _get_sam_cash_flow_profile_entry_display_to_entry_val(entry_display: str) -> Any: + if entry_display is None: + return None + + ed_san = entry_display.strip().replace(',', '') if type(entry_display) is str else entry_display + if is_float(ed_san): + if not math.isnan(float(ed_san)): + return float(ed_san) if not is_int(ed_san) else int(float(ed_san)) + + return entry_display.strip() + def _extract_addons_style_table_data(self, lines: list): """TODO consolidate with _get_data_from_profile_lines""" diff --git a/src/geophires_x_schema_generator/geophires-request.json b/src/geophires_x_schema_generator/geophires-request.json index 9d91f4e9a..21fc70ac0 100644 --- a/src/geophires_x_schema_generator/geophires-request.json +++ b/src/geophires_x_schema_generator/geophires-request.json @@ -1154,7 +1154,7 @@ "maximum": 1.0 }, "Utilization Factor": { - "description": "Ratio of the time the plant is running in normal production in a 1-year time period.", + "description": "Ratio of the time the plant is running in normal production in a 1-year time period. Synonymous with capacity factor.", "type": "number", "units": "", "category": "Surface Plant", @@ -1343,13 +1343,13 @@ "maximum": 200.0 }, "Economic Model": { - "description": "Specify the economic model to calculate the levelized cost of energy. 1: Fixed Charge Rate (FCR); 2: Standard Levelized Cost; 3: BICYCLE; 4: Simple (CLGS)", + "description": "Specify the economic model to calculate the levelized cost of energy. 1: Fixed Charge Rate (FCR); 2: Standard Levelized Cost; 3: BICYCLE; 4: Simple (CLGS); 5: SAM Single Owner PPA", "type": "integer", "units": null, "category": "Economics", "default": 2, "minimum": 1, - "maximum": 4, + "maximum": 5, "enum_values": [ { "name": "FCR", @@ -1370,6 +1370,11 @@ "name": "CLGS", "value": "Simple (CLGS)", "int_value": 4 + }, + { + "name": "SAM_SINGLE_OWNER_PPA", + "value": "SAM Single Owner PPA", + "int_value": 5 } ] }, @@ -1572,7 +1577,7 @@ "maximum": 1.0 }, "Discount Rate": { - "description": "Discount rate used in the Standard Levelized Cost Model. Discount Rate is synonymous with Fixed Internal Rate. If one is provided, the other's value will be automatically set to the same value.", + "description": "Discount rate used in the Standard Levelized Cost Model and SAM Economic Models. Discount Rate is synonymous with Fixed Internal Rate. If one is provided, the other's value will be automatically set to the same value.", "type": "number", "units": "", "category": "Economics", diff --git a/src/geophires_x_schema_generator/geophires-result.json b/src/geophires_x_schema_generator/geophires-result.json index 04fdcbdab..c77d7f06b 100644 --- a/src/geophires_x_schema_generator/geophires-result.json +++ b/src/geophires_x_schema_generator/geophires-result.json @@ -14,7 +14,7 @@ "Average Net Electricity Production": {}, "Electricity breakeven price": { "type": "number", - "description": "LCOE", + "description": "LCOE. For SAM economic models, this is the nominal LCOE value (as opposed to real).", "units": "cents/kWh" }, "Average Direct-Use Heat Production": {}, @@ -49,7 +49,7 @@ "Segment 4 Geothermal gradient": {}, "LCOE": { "type": "number", - "description": "LCOE", + "description": "LCOE. For SAM economic models, this is the nominal LCOE value (as opposed to real).", "units": "cents/kWh" }, "LCOH": { @@ -74,6 +74,21 @@ "description": "", "units": "%" }, + "WACC": { + "type": "number", + "description": "Weighted Average Cost of Capital displayed for SAM Economic Models. It is calculated according to the following formula, defined in SAM Help documentation: WACC = [ Nominal Discount Rate \u00f7 100 \u00d7 (1 - Debt Percent \u00f7 100) + Debt Percent \u00f7 100 \u00d7 Loan Rate \u00f7 100 \u00d7 (1 - Effective Tax Rate \u00f7 100 ) ] \u00d7 100; Effective Tax Rate = [ Federal Tax Rate \u00f7 100 \u00d7 ( 1 - State Tax Rate \u00f7 100 ) + State Tax Rate \u00f7 100 ] \u00d7 100; Nominal Discount Rate = [ ( 1 + Real Discount Rate \u00f7 100 ) \u00d7 ( 1 + Inflation Rate \u00f7 100 ) - 1 ] \u00d7 100. ", + "units": "%" + }, + "Real Discount Rate": { + "type": "number", + "description": "", + "units": "%" + }, + "Nominal Discount Rate": { + "type": "number", + "description": "Nominal Discount Rate is displayed for SAM Economic Models. It is calculated according to the following formula, defined in SAM Help documentation: Nominal Discount Rate = [ ( 1 + Real Discount Rate \u00f7 100 ) \u00d7 ( 1 + Inflation Rate \u00f7 100 ) - 1 ] \u00d7 100.", + "units": "%" + }, "Accrued financing during construction": {}, "Project lifetime": {}, "Capacity factor": {}, diff --git a/tests/base_test_case.py b/tests/base_test_case.py index dfaf52352..1e36812ec 100644 --- a/tests/base_test_case.py +++ b/tests/base_test_case.py @@ -1,8 +1,13 @@ +from __future__ import annotations + import inspect import numbers import os.path import unittest +# noinspection PyProtectedMember +from geophires_x_client import _get_logger + class BaseTestCase(unittest.TestCase): maxDiff = None @@ -15,12 +20,21 @@ def _get_test_file_content(self, test_file_name): return f.readlines() def _list_test_files_dir(self, test_files_dir: str): - return os.listdir(self._get_test_file_path(test_files_dir)) + return os.listdir(self._get_test_file_path(test_files_dir)) # noqa: PTH208 + + def assertAlmostEqualWithinPercentage(self, expected, actual, msg: str | None = None, percent=5): + if msg is not None and not isinstance(msg, str): + raise ValueError(f'msg must be a string (you may have meant to pass percent={msg})') - def assertAlmostEqualWithinPercentage(self, expected, actual, msg=None, percent=5): if isinstance(expected, numbers.Real): self.assertAlmostEqual(expected, actual, msg=msg, delta=abs(percent / 100.0 * expected)) else: + if isinstance(expected, list) and isinstance(actual, list): + suggest = f'self.assertListAlmostEqual({expected}, {actual}, msg={msg}, percent={percent})' + suggest = f'Got 2 lists, you probably meant to call:\n\t{suggest}' + log = _get_logger(__name__) + log.warning(suggest) + self.assertEqual(expected, actual, msg) def assertDictAlmostEqual(self, expected, actual, msg=None, places=7, percent=None): @@ -83,3 +97,7 @@ def assertFileContentsEqual(self, expected, actual): f1_lines = f1_o.readlines() f2_lines = f2_o.readlines() self.assertListEqual(f1_lines, f2_lines, msg=f'{expected}, {actual}') + + # noinspection PyPep8Naming,PyMethodMayBeStatic + def assertHasLogRecordWithMessage(self, logs_, message): + assert message in [record.message for record in logs_.records] diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat.txt index 402538282..336545e27 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use heat. Is AGS, True diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_water_heat.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_water_heat.txt index 2c5caec29..b5728a22d 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_water_heat.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Coaxial_water_heat.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use heat Is AGS, True diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_elec.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_elec.txt index d4e546938..0f5758d5a 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_elec.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_elec.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use elec using sCO2 Is AGS, True diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_heat.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_heat.txt index 83c054516..f81b8b183 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_heat.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_heat.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use heat using sCO2 Is AGS, True diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_elec.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_elec.txt index 80eb0d2ea..2ef61ea1f 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_elec.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_elec.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use heat using water Is AGS, True diff --git a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_heat.txt b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_heat.txt index 310adcc60..53a9f572d 100644 --- a/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_heat.txt +++ b/tests/examples/Beckers_et_al_2023_Tabulated_Database_Uloop_water_heat.txt @@ -2,6 +2,8 @@ # Economic Modeling of Heat Production and Electricity Generation" # Koenraad Beckers Yaroslav Vasyliv Gabriela A. Bran-Anleu Mario Martinez Chad Augustine and Mark White # Presented at the 48th Stanford Geothermal Workshop Stanford California February 6-8 2023 +# https://www.nrel.gov/docs/fy23osti/84979.pdf +# # This configuration is water filled U-loop with 1 lateral for direct-use heat using water Is AGS, True diff --git a/tests/examples/example_SAM-single-owner-PPA.out b/tests/examples/example_SAM-single-owner-PPA.out new file mode 100644 index 000000000..775a314b8 --- /dev/null +++ b/tests/examples/example_SAM-single-owner-PPA.out @@ -0,0 +1,409 @@ + ***************** + ***CASE REPORT*** + ***************** + +Simulation Metadata +---------------------- + GEOPHIRES Version: 3.9.6 + Simulation Date: 2025-05-14 + Simulation Time: 11:36 + Calculation Time: 0.888 sec + + ***SUMMARY OF RESULTS*** + + End-Use Option: Electricity + Average Net Electricity Production: 404.31 MW + Electricity breakeven price: 7.37 cents/kWh + Number of production wells: 39 + Number of injection wells: 39 + Flowrate per production well: 120.0 kg/sec + Well depth: 2.6 kilometer + Geothermal gradient: 74 degC/km + + + ***ECONOMIC PARAMETERS*** + + Economic Model = SAM Single Owner PPA + Real Discount Rate: 7.00 % + Nominal Discount Rate: 9.14 % + WACC: 6.41 % + Accrued financing during construction: 5.00 + Project lifetime: 20 yr + Capacity factor: 90.0 % + Project NPV: 2877.00 MUSD + Project IRR: 59.73 % + Estimated Jobs Created: 976 + + ***ENGINEERING PARAMETERS*** + + Number of Production Wells: 39 + Number of Injection Wells: 39 + Well depth: 2.6 kilometer + Water loss rate: 5.0 + Pump efficiency: 80.0 % + Injection temperature: 56.7 degC + Production Wellbore heat transmission calculated with Ramey's model + Average production well temperature drop: 1.7 degC + Flowrate per production well: 120.0 kg/sec + Injection well casing ID: 7.000 in + Production well casing ID: 7.000 in + Number of times redrilling: 0 + Power plant type: Supercritical ORC + + + ***RESOURCE CHARACTERISTICS*** + + Maximum reservoir temperature: 500.0 degC + Number of segments: 1 + Geothermal gradient: 74 degC/km + + + ***RESERVOIR PARAMETERS*** + + Reservoir Model = Multiple Parallel Fractures Model + Bottom-hole temperature: 201.72 degC + Fracture model = Rectangular + Well separation: fracture height: 2000.00 meter + Fracture width: 10000.00 meter + Fracture area: 20000000.00 m**2 + Reservoir volume calculated with fracture separation and number of fractures as input + Number of fractures: 149.00 + Fracture separation: 30.00 meter + Reservoir volume: 88800000000 m**3 + Reservoir impedance: 0.0010 GPa.s/m**3 + Reservoir density: 2800.00 kg/m**3 + Reservoir thermal conductivity: 3.05 W/m/K + Reservoir heat capacity: 790.00 J/kg/K + + + ***RESERVOIR SIMULATION RESULTS*** + + Maximum Production Temperature: 200.2 degC + Average Production Temperature: 200.0 degC + Minimum Production Temperature: 199.0 degC + Initial Production Temperature: 199.0 degC + Average Reservoir Heat Extraction: 2808.85 MW + Production Wellbore Heat Transmission Model = Ramey Model + Average Production Well Temperature Drop: 1.7 degC + Total Average Pressure Drop: 8681.5 kPa + Average Injection Well Pressure Drop: 3287.7 kPa + Average Reservoir Pressure Drop: 4914.3 kPa + Average Production Well Pressure Drop: 3331.1 kPa + Average Buoyancy Pressure Drop: -2851.6 kPa + + + ***CAPITAL COSTS (M$)*** + + Drilling and completion costs: 299.52 MUSD + Drilling and completion costs per well: 3.84 MUSD + Stimulation costs: 234.00 MUSD + Surface power plant costs: 898.83 MUSD + Field gathering system costs: 70.43 MUSD + Total surface equipment costs: 969.26 MUSD + Exploration costs: 30.00 MUSD + Investment Tax Credit: -459.83 MUSD + Total capital costs: 1072.95 MUSD + + + ***OPERATING AND MAINTENANCE COSTS (M$/yr)*** + + Wellfield maintenance costs: 4.61 MUSD/yr + Power plant maintenance costs: 16.21 MUSD/yr + Water costs: 6.14 MUSD/yr + Total operating and maintenance costs: 26.96 MUSD/yr + + + ***SURFACE EQUIPMENT SIMULATION RESULTS*** + + Initial geofluid availability: 0.19 MW/(kg/s) + Maximum Total Electricity Generation: 458.92 MW + Average Total Electricity Generation: 458.05 MW + Minimum Total Electricity Generation: 452.22 MW + Initial Total Electricity Generation: 452.22 MW + Maximum Net Electricity Generation: 405.19 MW + Average Net Electricity Generation: 404.31 MW + Minimum Net Electricity Generation: 398.45 MW + Initial Net Electricity Generation: 398.45 MW + Average Annual Total Electricity Generation: 3611.36 GWh + Average Annual Net Electricity Generation: 3187.72 GWh + Initial pumping power/net installed power: 13.50 % + Average Pumping Power: 53.73 MW + Heat to Power Conversion Efficiency: 14.39 % + + ************************************************************ + * HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * + ************************************************************ + YEAR THERMAL GEOFLUID PUMP NET FIRST LAW + DRAWDOWN TEMPERATURE POWER POWER EFFICIENCY + (degC) (MW) (MW) (%) + 1 1.0000 198.97 53.7719 398.4508 14.2890 + 2 1.0035 199.66 53.7468 402.3356 14.3589 + 3 1.0042 199.80 53.7416 403.1518 14.3735 + 4 1.0046 199.88 53.7388 403.5785 14.3811 + 5 1.0048 199.93 53.7370 403.8614 14.3862 + 6 1.0050 199.97 53.7356 404.0705 14.3899 + 7 1.0051 200.00 53.7346 404.2351 14.3928 + 8 1.0053 200.02 53.7337 404.3701 14.3952 + 9 1.0054 200.04 53.7330 404.4840 14.3973 + 10 1.0055 200.06 53.7323 404.5823 14.3990 + 11 1.0055 200.07 53.7318 404.6685 14.4006 + 12 1.0056 200.09 53.7313 404.7451 14.4019 + 13 1.0057 200.10 53.7309 404.8140 14.4032 + 14 1.0057 200.11 53.7304 404.8764 14.4043 + 15 1.0058 200.12 53.7301 404.9335 14.4053 + 16 1.0058 200.13 53.7297 404.9860 14.4062 + 17 1.0059 200.14 53.7294 405.0346 14.4071 + 18 1.0059 200.14 53.7291 405.0797 14.4079 + 19 1.0059 200.15 53.7289 405.1219 14.4086 + 20 1.0060 200.16 53.7286 405.1614 14.4093 + + + ******************************************************************* + * ANNUAL HEATING, COOLING AND/OR ELECTRICITY PRODUCTION PROFILE * + ******************************************************************* + YEAR ELECTRICITY HEAT RESERVOIR PERCENTAGE OF + PROVIDED EXTRACTED HEAT CONTENT TOTAL HEAT MINED + (GWh/year) (GWh/year) (10^15 J) (%) + 1 3161.1 22053.0 27168.61 0.29 + 2 3175.7 22103.7 27089.04 0.58 + 3 3180.3 22119.6 27009.41 0.88 + 4 3183.0 22129.0 26929.74 1.17 + 5 3184.9 22135.7 26850.05 1.46 + 6 3186.4 22140.7 26770.35 1.75 + 7 3187.5 22144.8 26690.63 2.05 + 8 3188.5 22148.2 26610.89 2.34 + 9 3189.3 22151.1 26531.15 2.63 + 10 3190.1 22153.6 26451.40 2.92 + 11 3190.7 22155.8 26371.64 3.22 + 12 3191.3 22157.8 26291.87 3.51 + 13 3191.8 22159.6 26212.09 3.80 + 14 3192.3 22161.2 26132.31 4.09 + 15 3192.7 22162.7 26052.53 4.39 + 16 3193.1 22164.1 25972.74 4.68 + 17 3193.5 22165.4 25892.94 4.97 + 18 3193.8 22166.6 25813.14 5.27 + 19 3194.1 22167.7 25733.34 5.56 + 20 3194.4 22168.7 25653.53 5.85 + + *************************** + * SAM CASH FLOW PROFILE * + *************************** +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Year 0 Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Year 10 Year 11 Year 12 Year 13 Year 14 Year 15 Year 16 Year 17 Year 18 Year 19 Year 20 +ENERGY +Electricity to grid (kWh) 0.0 3,161,197,316 3,175,786,856 3,180,379,788 3,183,105,655 3,185,018,384 3,186,478,581 3,187,652,210 3,188,628,989 3,189,462,709 3,190,188,061 3,190,828,668 3,191,401,306 3,191,918,303 3,192,388,967 3,192,820,492 3,193,218,548 3,193,587,678 3,193,931,576 3,194,253,285 3,194,540,808 +Electricity from grid (kWh) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +Electricity to grid net (kWh) 0.0 3,161,197,316 3,175,786,856 3,180,379,788 3,183,105,655 3,185,018,384 3,186,478,581 3,187,652,210 3,188,628,989 3,189,462,709 3,190,188,061 3,190,828,668 3,191,401,306 3,191,918,303 3,192,388,967 3,192,820,492 3,193,218,548 3,193,587,678 3,193,931,576 3,194,253,285 3,194,540,808 + +REVENUE +PPA price (cents/kWh) 0.0 15.0 15.0 15.41 15.81 16.22 16.62 17.03 17.43 17.84 18.24 18.65 19.05 19.46 19.86 20.27 20.67 21.08 21.49 21.89 22.30 +PPA revenue ($) 0 474,179,597 476,368,028 489,947,757 503,269,522 516,481,527 529,633,820 542,749,158 555,839,694 568,912,632 581,972,558 595,022,561 608,064,808 621,100,869 634,131,918 647,158,849 660,182,358 673,202,997 686,221,207 699,237,348 712,248,474 +Curtailment payment revenue ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Capacity payment revenue ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Salvage value ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 804,710,910 +Total revenue ($) 0 474,179,597 476,368,028 489,947,757 503,269,522 516,481,527 529,633,820 542,749,158 555,839,694 568,912,632 581,972,558 595,022,561 608,064,808 621,100,869 634,131,918 647,158,849 660,182,358 673,202,997 686,221,207 699,237,348 1,516,959,384 + +Property tax net assessed value ($) 0 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 1,609,421,820 + +OPERATING EXPENSES +O&M fixed expense ($) 0 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 +O&M production-based expense ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +O&M capacity-based expense ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Fuel expense ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Electricity purchase ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Property tax expense ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Insurance expense ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Total operating expenses ($) 0 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 26,961,846 + +EBITDA ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 + +OPERATING ACTIVITIES +EBITDA ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 +Interest earned on reserves ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +plus PBI if not available for debt service: +Federal PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Utility PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Other PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Debt interest payment ($) 0 40,235,545 39,018,719 37,741,050 36,399,498 34,990,869 33,511,808 31,958,794 30,328,130 28,615,932 26,818,124 24,930,426 22,948,343 20,867,156 18,681,910 16,387,401 13,978,167 11,448,471 8,792,290 6,003,300 3,074,861 +Cash flow from operating activities ($) 0 406,982,206 410,387,464 425,244,861 439,908,178 454,528,812 469,160,166 483,828,518 498,549,719 513,334,854 528,192,588 543,130,289 558,154,619 573,271,867 588,488,162 603,809,602 619,242,346 634,792,680 650,467,071 666,272,202 1,486,922,677 + +INVESTING ACTIVITIES +Total installed cost ($) -1,609,421,820 +Debt closing costs ($) 0 +Debt up-front fee ($) 0 +minus: +Total IBI income ($) 0 +Total CBI income ($) 0 +equals: +Purchase of property ($) -1,609,421,820 +plus: +Reserve (increase)/decrease debt service ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve (increase)/decrease working capital ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve (increase)/decrease receivables ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve (increase)/decrease major equipment 1 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve (increase)/decrease major equipment 2 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve (increase)/decrease major equipment 3 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve capital spending major equipment 1 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve capital spending major equipment 2 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserve capital spending major equipment 3 ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +equals: +Cash flow from investing activities ($) -1,609,421,820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +FINANCING ACTIVITIES +Issuance of equity ($) 804,710,910 +Size of debt ($) 804,710,910 +minus: +Debt principal payment ($) 0 24,336,540 25,553,367 26,831,035 28,172,587 29,581,216 31,060,277 32,613,291 34,243,956 35,956,153 37,753,961 39,641,659 41,623,742 43,704,929 45,890,176 48,184,684 50,593,918 53,123,614 55,779,795 58,568,785 61,497,224 +equals: +Cash flow from financing activities ($) 1,609,421,820 -24,336,540 -25,553,367 -26,831,035 -28,172,587 -29,581,216 -31,060,277 -32,613,291 -34,243,956 -35,956,153 -37,753,961 -39,641,659 -41,623,742 -43,704,929 -45,890,176 -48,184,684 -50,593,918 -53,123,614 -55,779,795 -58,568,785 -61,497,224 + +PROJECT RETURNS +Pre-tax Cash Flow: +Cash flow from operating activities ($) 0 406,982,206 410,387,464 425,244,861 439,908,178 454,528,812 469,160,166 483,828,518 498,549,719 513,334,854 528,192,588 543,130,289 558,154,619 573,271,867 588,488,162 603,809,602 619,242,346 634,792,680 650,467,071 666,272,202 1,486,922,677 +Cash flow from investing activities ($) -1,609,421,820 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Cash flow from financing activities ($) 1,609,421,820 -24,336,540 -25,553,367 -26,831,035 -28,172,587 -29,581,216 -31,060,277 -32,613,291 -34,243,956 -35,956,153 -37,753,961 -39,641,659 -41,623,742 -43,704,929 -45,890,176 -48,184,684 -50,593,918 -53,123,614 -55,779,795 -58,568,785 -61,497,224 +Total pre-tax cash flow ($) 0 382,645,666 384,834,097 398,413,826 411,735,591 424,947,596 438,099,889 451,215,227 464,305,764 477,378,701 490,438,627 503,488,630 516,530,877 529,566,938 542,597,987 555,624,918 568,648,427 581,669,066 594,687,276 607,703,417 1,425,425,453 + +Pre-tax Returns: +Issuance of equity ($) 804,710,910 +Total pre-tax cash flow ($) 0 382,645,666 384,834,097 398,413,826 411,735,591 424,947,596 438,099,889 451,215,227 464,305,764 477,378,701 490,438,627 503,488,630 516,530,877 529,566,938 542,597,987 555,624,918 568,648,427 581,669,066 594,687,276 607,703,417 1,425,425,453 +Total pre-tax returns ($) -804,710,910 382,645,666 384,834,097 398,413,826 411,735,591 424,947,596 438,099,889 451,215,227 464,305,764 477,378,701 490,438,627 503,488,630 516,530,877 529,566,938 542,597,987 555,624,918 568,648,427 581,669,066 594,687,276 607,703,417 1,425,425,453 + +After-tax Returns: +Total pre-tax returns ($) -804,710,910 382,645,666 384,834,097 398,413,826 411,735,591 424,947,596 438,099,889 451,215,227 464,305,764 477,378,701 490,438,627 503,488,630 516,530,877 529,566,938 542,597,987 555,624,918 568,648,427 581,669,066 594,687,276 607,703,417 1,425,425,453 +Federal ITC total income ($) 0 482,826,546 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Federal PTC income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Federal tax benefit (liability) ($) 0 -72,804,323 -66,790,068 -69,691,718 -72,555,464 -75,410,874 -78,268,377 -81,133,106 -84,008,157 -86,895,694 -89,797,409 -92,714,742 -95,648,994 -98,601,392 -101,573,135 -104,565,412 -107,579,427 -110,616,407 -113,677,616 -116,764,358 -277,037,395 +State ITC total income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State PTC income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State tax benefit (liability) ($) 0 -26,094,739 -23,939,093 -24,979,110 -26,005,543 -27,028,987 -28,053,182 -29,079,966 -30,110,450 -31,145,410 -32,185,451 -33,231,090 -34,282,793 -35,341,001 -36,406,141 -37,478,642 -38,558,934 -39,647,458 -40,744,665 -41,851,024 -99,296,557 +Total after-tax returns ($) -804,710,910 766,573,150 294,104,937 303,742,997 313,174,585 322,507,735 331,778,331 341,002,154 350,187,156 359,337,597 368,455,767 377,542,798 386,599,090 395,624,545 404,618,711 413,580,864 422,510,066 431,405,201 440,264,996 449,088,035 1,049,091,500 + +After-tax cumulative IRR (%) NaN -4.74 24.59 40.43 48.73 53.26 55.83 57.34 58.25 58.80 59.15 59.36 59.50 59.58 59.64 59.67 59.69 59.71 59.72 59.72 59.73 +After-tax cumulative NPV ($) -804,710,910 -102,334,925 144,572,650 378,216,539 598,941,126 807,208,091 1,003,518,949 1,188,390,241 1,362,341,918 1,525,890,624 1,679,545,330 1,823,804,273 1,959,152,769 2,086,061,612 2,204,985,930 2,316,364,386 2,420,618,660 2,518,153,155 2,609,354,883 2,694,593,509 2,877,039,523 + +AFTER-TAX LCOE AND PPA PRICE +Annual costs ($) -804,710,910 292,393,552 -182,263,092 -186,204,759 -190,094,937 -193,973,792 -197,855,490 -201,747,003 -205,652,538 -209,575,034 -213,516,791 -217,479,763 -221,465,718 -225,476,324 -229,513,207 -233,577,985 -237,672,292 -241,797,796 -245,956,212 -250,149,313 336,843,026 +PPA revenue ($) 0 474,179,597 476,368,028 489,947,757 503,269,522 516,481,527 529,633,820 542,749,158 555,839,694 568,912,632 581,972,558 595,022,561 608,064,808 621,100,869 634,131,918 647,158,849 660,182,358 673,202,997 686,221,207 699,237,348 712,248,474 +Electricity to grid (kWh) 0.0 3,161,197,316 3,175,786,856 3,180,379,788 3,183,105,655 3,185,018,384 3,186,478,581 3,187,652,210 3,188,628,989 3,189,462,709 3,190,188,061 3,190,828,668 3,191,401,306 3,191,918,303 3,192,388,967 3,192,820,492 3,193,218,548 3,193,587,678 3,193,931,576 3,194,253,285 3,194,540,808 + +Present value of annual costs ($) 2,121,805,148 +Present value of annual energy nominal (kWh) 28,780,754,350 +LCOE Levelized cost of energy nominal (cents/kWh) 7.37 + +Present value of PPA revenue ($) 4,998,844,672 +Present value of annual energy nominal (kWh) 28,780,754,350 +LPPA Levelized PPA price nominal (cents/kWh) 17.37 + +PROJECT STATE INCOME TAXES +EBITDA ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 +State taxable PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Interest earned on reserves ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State taxable IBI income ($) 0 +State taxable CBI income ($) 0 +minus: +Debt interest payment ($) 0 40,235,545 39,018,719 37,741,050 36,399,498 34,990,869 33,511,808 31,958,794 30,328,130 28,615,932 26,818,124 24,930,426 22,948,343 20,867,156 18,681,910 16,387,401 13,978,167 11,448,471 8,792,290 6,003,300 3,074,861 +Total state tax depreciation ($) 0 34,200,214 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 +equals: +State taxable income ($) 0 372,781,993 341,987,037 356,844,434 371,507,751 386,128,385 400,759,739 415,428,090 430,149,292 444,934,427 459,792,161 474,729,862 489,754,191 504,871,440 520,087,735 535,409,175 550,841,918 566,392,253 582,066,644 597,871,774 1,418,522,250 + +State income tax rate (frac) 0.0 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 +State tax benefit (liability) ($) 0 -26,094,739 -23,939,093 -24,979,110 -26,005,543 -27,028,987 -28,053,182 -29,079,966 -30,110,450 -31,145,410 -32,185,451 -33,231,090 -34,282,793 -35,341,001 -36,406,141 -37,478,642 -38,558,934 -39,647,458 -40,744,665 -41,851,024 -99,296,557 + +PROJECT FEDERAL INCOME TAXES +EBITDA ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 +Interest earned on reserves ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State tax benefit (liability) ($) 0 -26,094,739 -23,939,093 -24,979,110 -26,005,543 -27,028,987 -28,053,182 -29,079,966 -30,110,450 -31,145,410 -32,185,451 -33,231,090 -34,282,793 -35,341,001 -36,406,141 -37,478,642 -38,558,934 -39,647,458 -40,744,665 -41,851,024 -99,296,557 +State ITC total income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State PTC income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Federal taxable IBI income ($) 0 +Federal taxable CBI income ($) 0 +Federal taxable PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +minus: +Debt interest payment ($) 0 40,235,545 39,018,719 37,741,050 36,399,498 34,990,869 33,511,808 31,958,794 30,328,130 28,615,932 26,818,124 24,930,426 22,948,343 20,867,156 18,681,910 16,387,401 13,978,167 11,448,471 8,792,290 6,003,300 3,074,861 +Total federal tax depreciation ($) 0 34,200,214 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 68,400,427 +equals: +Federal taxable income ($) 0 346,687,253 318,047,944 331,865,323 345,502,208 359,099,398 372,706,557 386,348,124 400,038,841 413,789,017 427,606,710 441,498,772 455,471,398 469,530,439 483,681,593 497,930,532 512,282,984 526,744,795 541,321,979 556,020,750 1,319,225,692 + +Federal income tax rate (frac) 0.0 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 0.21 +Federal tax benefit (liability) ($) 0 -72,804,323 -66,790,068 -69,691,718 -72,555,464 -75,410,874 -78,268,377 -81,133,106 -84,008,157 -86,895,694 -89,797,409 -92,714,742 -95,648,994 -98,601,392 -101,573,135 -104,565,412 -107,579,427 -110,616,407 -113,677,616 -116,764,358 -277,037,395 + +CASH INCENTIVES +Federal IBI income ($) 0 +State IBI income ($) 0 +Utility IBI income ($) 0 +Other IBI income ($) 0 +Total IBI income ($) 0 + +Federal CBI income ($) 0 +State CBI income ($) 0 +Utility CBI income ($) 0 +Other CBI income ($) 0 +Total CBI income ($) 0 + +Federal PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Utility PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Other PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Total PBI income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +TAX CREDITS +Federal PTC income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State PTC income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Federal ITC amount income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Federal ITC percent income ($) 0 482,826,546 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Federal ITC total income ($) 0 482,826,546 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +State ITC amount income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State ITC percent income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +State ITC total income ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +DEBT REPAYMENT +Debt balance ($) 804,710,910 780,374,370 754,821,003 727,989,968 699,817,381 670,236,165 639,175,888 606,562,597 572,318,641 536,362,488 498,608,527 458,966,868 417,343,126 373,638,197 327,748,021 279,563,337 228,969,419 175,845,804 120,066,009 61,497,224 0 +Debt interest payment ($) 0 40,235,545 39,018,719 37,741,050 36,399,498 34,990,869 33,511,808 31,958,794 30,328,130 28,615,932 26,818,124 24,930,426 22,948,343 20,867,156 18,681,910 16,387,401 13,978,167 11,448,471 8,792,290 6,003,300 3,074,861 +Debt principal payment ($) 0 24,336,540 25,553,367 26,831,035 28,172,587 29,581,216 31,060,277 32,613,291 34,243,956 35,956,153 37,753,961 39,641,659 41,623,742 43,704,929 45,890,176 48,184,684 50,593,918 53,123,614 55,779,795 58,568,785 61,497,224 +Debt total payment ($) 0 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 + +DSCR (DEBT FRACTION) +EBITDA ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 +minus: +Reserves major equipment 1 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 2 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 3 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves receivables funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +equals: +Cash available for debt service (CAFDS) ($) 0 447,217,752 449,406,183 462,985,911 476,307,677 489,519,681 502,671,975 515,787,312 528,877,849 541,950,786 555,010,713 568,060,716 581,102,962 594,139,023 607,170,072 620,197,003 633,220,513 646,241,151 659,259,362 672,275,502 1,489,997,538 +Debt total payment ($) 0 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 64,572,085 +DSCR (pre-tax) 0.0 6.93 6.96 7.17 7.38 7.58 7.78 7.99 8.19 8.39 8.60 8.80 9.0 9.20 9.40 9.60 9.81 10.01 10.21 10.41 23.07 + +RESERVES +Reserves working capital funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves working capital disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves working capital balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves debt service funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves debt service disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves debt service balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves receivables funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves receivables disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves receivables balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves major equipment 1 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 1 disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 1 balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves major equipment 2 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 2 disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 2 balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves major equipment 3 funding ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 3 disbursement ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Reserves major equipment 3 balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + +Reserves total reserves balance ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +Interest on reserves (%/year) 1.75 +Interest earned on reserves ($) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/tests/examples/example_SAM-single-owner-PPA.txt b/tests/examples/example_SAM-single-owner-PPA.txt new file mode 100644 index 000000000..8dde0641b --- /dev/null +++ b/tests/examples/example_SAM-single-owner-PPA.txt @@ -0,0 +1,86 @@ +# Example: SAM Single Owner PPA Economic Model +# This example is adapted from Fervo_Project_Cape-3, allowing for comparison between BICYCLE and SAM economic models. +# See "SAM Economic Models" in GEOPHIRES documentation for details on how GEOPHIRES parameters and outputs are transformed and passed +# to the SAM financial model. +# NREL SAM PPA (Power Purchase Agreement) Financial Model documentation: https://sam.nrel.gov/financial-models/utility-scale-ppa + +# *** ECONOMIC/FINANCIAL PARAMETERS *** +# ************************************* +Economic Model, 5, -- SAM Single Owner PPA + +Starting Electricity Sale Price, 0.15 +Ending Electricity Sale Price, 1.00 +Electricity Escalation Rate Per Year, 0.004053223 +Electricity Escalation Start Year, 1 + +Fraction of Investment in Bonds, .5 +Inflated Bond Interest Rate, .05 +Discount Rate, 0.07 + +Inflation Rate, .02 +Inflation Rate During Construction, 0.05 + +Combined Income Tax Rate, .28 +Investment Tax Credit Rate, .3 +Property Tax Rate, 0 + +Surface Plant Capital Cost Adjustment Factor, 0.71, -- $1900/kW (peak production) +Exploration Capital Cost, 30 +Well Drilling and Completion Capital Cost, 3.84, -- Assume cost continues to decrease from $4.8M/well (https://houston.innovationmap.com/fervo-energy-drilling-utah-project-2667300142.html) +Reservoir Stimulation Capital Cost, 234, -- 78 wells @ $3M/well + + +# *** SURFACE & SUBSURFACE TECHNICAL PARAMETERS *** +# ************************************************* +End-Use Option, 1 +Plant Lifetime, 20 +Power Plant Type, 2, -- Supercritical ORC + +Reservoir Model, 1 +Reservoir Volume Option, 1 +Reservoir Density, 2800 +Reservoir Depth, 8500 feet, -- https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf +Reservoir Heat Capacity, 790 +Reservoir Thermal Conductivity, 3.05 +Reservoir Porosity, 0.0118 +Reservoir Impedance, 0.001 + +Number of Fractures, 149 +Fracture Shape, 4 +Fracture Height, 2000 +Fracture Width, 10000 +Fracture Separation, 30 + +Number of Segments, 1 +Gradient 1, 74, -- temperature at 8500 ft: 200 degC (https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf); 228.89 degC @ 9824 ft (https://doi.org/10.31223/X5VH8C) + +Number of Injection Wells, 39 +Number of Production Wells, 39 +Production Flow Rate per Well, 120, -- peak flow reported in paper +Production Well Diameter, 7 +Injection Well Diameter, 7 +Well Separation, 365 feet + +Ramey Production Wellbore Model, 1 + +Injection Temperature, 60 degC +Injection Wellbore Temperature Gain, 3 +Plant Outlet Pressure, 1000 psi +Production Wellhead Pressure, 325 psi +Utilization Factor, .9 +Water Loss Fraction, 0.05 +Maximum Drawdown, 1 +Ambient Temperature, 10 degC +Surface Temperature, 10 degC +Circulation Pump Efficiency, 0.80 + +Well Geometry Configuration, 4 +Has Nonvertical Section, True +Multilaterals Cased, True +Number of Multilateral Sections, 3 +Nonvertical Length per Multilateral Section, 4700 feet + +# *** SIMULATION PARAMETERS *** +# ***************************** +Maximum Temperature, 500 +Time steps per year, 10 diff --git a/tests/geophires_monte_carlo_tests/test_geophires_monte_carlo.py b/tests/geophires_monte_carlo_tests/test_geophires_monte_carlo.py index b46651015..f958e65d5 100644 --- a/tests/geophires_monte_carlo_tests/test_geophires_monte_carlo.py +++ b/tests/geophires_monte_carlo_tests/test_geophires_monte_carlo.py @@ -165,6 +165,8 @@ def test_hip_ra_monte_carlo(self): # changes), then it probably means the expected range or settings file need to be adjusted to 'guarantee' # the results can be confidently asserted. (Such as in # https://github.com/NREL/GEOPHIRES-X/pull/178/commits/ec4db42fca5a90715ceb5143e18315d5f3d782b7) + # Failure 2025-04-17, noting here in comment but not changing value for now: + # https://github.com/softwareengineerprogrammer/GEOPHIRES/actions/runs/14523599534/job/40750024435?pr=69 self.assertLess(json_result['Producible Electricity']['median'], 1000) self.assertGreater(json_result['Producible Electricity']['median'], 20) diff --git a/tests/geophires_x_client_tests/test_geophires_x_result.py b/tests/geophires_x_client_tests/test_geophires_x_result.py new file mode 100644 index 000000000..ee3052c09 --- /dev/null +++ b/tests/geophires_x_client_tests/test_geophires_x_result.py @@ -0,0 +1,17 @@ +from geophires_x_client import GeophiresXResult +from tests.base_test_case import BaseTestCase + + +class GeophiresXResultTestCase(BaseTestCase): + + def test_get_sam_cash_flow_row_name_unit_split(self) -> None: + cases = [ + ('Electricity to grid (kWh)', ['Electricity to grid', 'kWh']), + ('Federal tax benefit (liability) ($)', ['Federal tax benefit (liability)', '$']), + ('Underwater baskets', ['Underwater baskets', '']), + ] + + for case in cases: + with self.subTest(msg=case[0]): + actual = GeophiresXResult._get_sam_cash_flow_row_name_unit_split(case[0]) + self.assertListEqual(actual, case[1]) diff --git a/tests/geophires_x_tests/generic-egs-case-2_sam-single-owner-ppa.txt b/tests/geophires_x_tests/generic-egs-case-2_sam-single-owner-ppa.txt new file mode 100644 index 000000000..80664e6bc --- /dev/null +++ b/tests/geophires_x_tests/generic-egs-case-2_sam-single-owner-ppa.txt @@ -0,0 +1,65 @@ +# Adapted from Fervo_Project_Cape-3 + +Reservoir Model, 1 +Reservoir Volume Option, 1 +Reservoir Density, 2800 +Reservoir Depth, 8500 feet, -- https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf +Reservoir Heat Capacity, 790 +Reservoir Thermal Conductivity, 3.05 +Reservoir Porosity, 0.0118 +Reservoir Impedance, 0.001 + +Number of Fractures, 149 +Fracture Shape, 4 +Fracture Height, 2000 +Fracture Width, 10000 +Fracture Separation, 30 + +Number of Segments, 1 +Gradient 1, 74, -- temperature at 8500 ft: 200 degC (https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf); 228.89 degC @ 9824 ft (https://doi.org/10.31223/X5VH8C) + +Number of Injection Wells, 39 +Number of Production Wells, 39 +Production Flow Rate per Well, 120, -- peak flow reported in paper +Production Well Diameter, 7 +Injection Well Diameter, 7 +Well Separation, 365 feet +Injection Temperature, 60 degC +Injection Wellbore Temperature Gain, 3 +Plant Outlet Pressure, 1000 psi +Production Wellhead Pressure, 325 psi +Ramey Production Wellbore Model, 1 +Utilization Factor, .9 +Water Loss Fraction, 0.05 +Maximum Drawdown, 1 +Ambient Temperature, 10 degC +Surface Temperature, 10 degC +End-Use Option, 1 +Plant Lifetime, 20 +Power Plant Type, 2 +Circulation Pump Efficiency, 0.80 + +Surface Plant Capital Cost Adjustment Factor, 0.71, -- $1900/kW (peak production) +Exploration Capital Cost, 30 +Well Drilling and Completion Capital Cost, 3.84, -- Assume cost continues to decrease from $4.8M/well (https://houston.innovationmap.com/fervo-energy-drilling-utah-project-2667300142.html) +Reservoir Stimulation Capital Cost, 234, -- 78 wells @ $3M/well +Economic Model, 5, -- SAM Single Owner PPA +Starting Electricity Sale Price, 0.15 +Ending Electricity Sale Price, 1.00 +Electricity Escalation Rate Per Year, 0.004053223 +Electricity Escalation Start Year, 1 +Fraction of Investment in Bonds, .5 +Combined Income Tax Rate, .28 +Inflated Bond Interest Rate, .05 +Inflation Rate, .02 +Investment Tax Credit Rate, .3 +Inflation Rate During Construction, 0.05 +Property Tax Rate, 0 +Time steps per year, 10 +Maximum Temperature, 500 + +Well Geometry Configuration, 4 +Has Nonvertical Section, True +Multilaterals Cased, True +Number of Multilateral Sections, 3 +Nonvertical Length per Multilateral Section, 4700 feet diff --git a/tests/geophires_x_tests/test_economics_sam.py b/tests/geophires_x_tests/test_economics_sam.py new file mode 100644 index 000000000..4f7fa44a3 --- /dev/null +++ b/tests/geophires_x_tests/test_economics_sam.py @@ -0,0 +1,489 @@ +from __future__ import annotations + +import os +import sys +from pathlib import Path +from typing import Any + +import numpy as np + +from base_test_case import BaseTestCase + +# ruff: noqa: I001 # Successful module initialization is dependent on this specific import order. +from geophires_x.Model import Model + +# noinspection PyProtectedMember +from geophires_x.EconomicsSam import ( + calculate_sam_economics, + _sig_figs, + get_sam_cash_flow_profile_tabulated_output, + _ppa_pricing_model, + _get_fed_and_state_tax_rates, +) + +# noinspection PyProtectedMember +from geophires_x.EconomicsSamCashFlow import _clean_profile, _is_category_row_label, _is_designator_row_label +from geophires_x_client import GeophiresInputParameters +from geophires_x_client import GeophiresXClient +from geophires_x_client import GeophiresXResult + + +class EconomicsSamTestCase(BaseTestCase): + + def _egs_test_file_path(self) -> str: + return self._get_test_file_path('generic-egs-case-2_sam-single-owner-ppa.txt') + + def _get_result(self, _params, file_path=None) -> GeophiresXResult: + if file_path is None: + file_path = self._egs_test_file_path() + + return GeophiresXClient().get_geophires_result( + GeophiresInputParameters( + from_file_path=file_path, + params={'Economic Model': 5, **_params}, + ) + ) + + def test_economic_model_single_owner_ppa_sam(self): + def _lcoe(r: GeophiresXResult) -> float: + return r.result['SUMMARY OF RESULTS']['Electricity breakeven price']['value'] + + base_result = self._get_result({}) + base_lcoe = _lcoe(base_result) + self.assertGreater(base_lcoe, 7) + + ir = base_result.result['ECONOMIC PARAMETERS']['Interest Rate'] + self.assertIsNone(ir) + + rdr = base_result.result['ECONOMIC PARAMETERS']['Real Discount Rate'] + self.assertEqual(rdr['value'], 7.0) + self.assertEqual(rdr['unit'], '%') + + def test_drawdown(self): + r = self._get_result( + {'Plant Lifetime': 20, 'End-Use Option': 1}, file_path=self._get_test_file_path('../examples/example13.txt') + ) + + cash_flow = r.result['SAM CASH FLOW PROFILE'] + + def get_row(name: str) -> list[float]: + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + elec_net_kWh = get_row('Electricity to grid net (kWh)') + self.assertLess(elec_net_kWh[15], elec_net_kWh[14]) + self.assertGreater(elec_net_kWh[16], elec_net_kWh[15]) + self.assertLess(elec_net_kWh[20], elec_net_kWh[16]) + + def test_plant_lifetime(self): + r = self._get_result({'Plant Lifetime': 30}) + + cash_flow = r.result['SAM CASH FLOW PROFILE'] + + def get_row(name: str) -> list[float]: + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + self.assertEqual(32, len(cash_flow[0])) + self.assertEqual('Year 30', cash_flow[0][-1]) + self.assertEqual(31, len(get_row('Electricity to grid net (kWh)'))) + + def test_npv(self): + def _npv(r: GeophiresXResult) -> float: + return r.result['ECONOMIC PARAMETERS']['Project NPV']['value'] + + _pricing_conversion_constant = 0.745 + inflation = 0.02 + rate_params = [ + { + 'Starting Electricity Sale Price': x / 100.0, + # Escalation rate must remain constant percent + 'Electricity Escalation Rate Per Year': x * inflation / 100.0 / _pricing_conversion_constant, + } + for x in range(1, 20, 4) + ] + npvs = [_npv(self._get_result(rp)) for rp in rate_params] + for i in range(len(npvs) - 1): + self.assertLess(npvs[i], npvs[i + 1]) + + def test_electricity_generation_profile(self): + r = self._get_result({}) + lifetime = r.result['ECONOMIC PARAMETERS']['Project lifetime']['value'] + + cash_flow = r.result['SAM CASH FLOW PROFILE'] + + def get_row(name: str) -> list[float]: + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + geophires_avg_net_gen_GWh = r.result['SURFACE EQUIPMENT SIMULATION RESULTS'][ + 'Average Annual Net Electricity Generation' + ]['value'] + + sam_gen_profile = get_row('Electricity to grid net (kWh)') + + # Discrepancy is probably due to windowing and/or rounding effects, + # may merit further investigation when time permits. + allowed_delta_percent = 5 + self.assertAlmostEqualWithinPercentage( + geophires_avg_net_gen_GWh, + np.average(sam_gen_profile) * 1e-6, + percent=allowed_delta_percent, + ) + + elec_idx = r.result['HEAT AND/OR ELECTRICITY EXTRACTION AND GENERATION PROFILE'][0].index( + 'ELECTRICITY PROVIDED (GWh/year)' + ) + for i in range(lifetime): + geophires_elec = r.result['HEAT AND/OR ELECTRICITY EXTRACTION AND GENERATION PROFILE'][1:][i][elec_idx] + sam_elec = sam_gen_profile[i + 1] * 1e-6 + self.assertAlmostEqual(geophires_elec, sam_elec, places=0) + + def test_cash_flow(self): + m: Model = EconomicsSamTestCase._new_model(Path(self._egs_test_file_path())) + + sam_econ = calculate_sam_economics(m) + cash_flow = sam_econ.sam_cash_flow_profile + self.assertIsNotNone(cash_flow) + + print( + get_sam_cash_flow_profile_tabulated_output( + m, + # cash_flow, + # tablefmt='pretty', + # tablefmt='psql', + # tablefmt='simple_grid', + # tablefmt='fancy_grid', + # headers='keys' + ) + ) + + self.assertEqual(22, len(cash_flow[0])) + + def get_row(name: str) -> list[float]: + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + def get_single_value(name: str) -> list[float]: + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name)[0] + + self.assertListEqual(get_row('PPA revenue ($)')[:-1], get_row('Total revenue ($)')[:-1]) + + tic = get_single_value('Total installed cost ($)') + self.assertLess(tic, 0) + self.assertAlmostEqual(get_single_value('Cash flow from investing activities ($)'), tic, places=2) + + self.assertAlmostEqual(get_single_value('Cash flow from financing activities ($)'), -1.0 * tic, places=2) + + self.assertAlmostEqual( + m.economics.LCOE.value, get_single_value('LCOE Levelized cost of energy nominal (cents/kWh)'), places=2 + ) + + @staticmethod + def _get_cash_flow_row(cash_flow, name): + + def r_0(r): + if r is not None and len(r) > 0: + return r[0] + + return None + + return next( + [GeophiresXResult._get_sam_cash_flow_profile_entry_display_to_entry_val(ed) for ed in r] + for r in cash_flow + if r_0(r) == name + )[1:] + + def test_only_electricity_end_use_supported(self): + with self.assertRaises(RuntimeError) as e: + self._get_result({'End-Use Option': 2}) + + self.assertIn('Invalid End-Use Option (Direct-Use Heat)', str(e.exception)) + + def test_only_1_construction_year_supported(self): + with self.assertRaises(RuntimeError) as e: + self._get_result({'Construction Years': 2}) + + self.assertIn('Invalid Construction Years (2)', str(e.exception)) + self.assertIn('SAM_SINGLE_OWNER_PPA only supports Construction Years = 1.', str(e.exception)) + + def test_ppa_pricing_model(self): + self.assertListEqual( + [ + 0.15, + 0.15, + 0.154053223, + 0.15810644599999998, + 0.162159669, + 0.166212892, + 0.170266115, + 0.174319338, + 0.17837256099999999, + 0.18242578399999998, + 0.186479007, + 0.19053223, + 0.194585453, + 0.198638676, + 0.202691899, + 0.206745122, + 0.210798345, + 0.214851568, + 0.218904791, + 0.22295801399999998, + ], + _ppa_pricing_model(20, 0.15, 1.00, 1, 0.004053223), + ) + + def test_property_tax_rate(self): + pt_rate = 0.01 + m: Model = EconomicsSamTestCase._new_model( + self._egs_test_file_path(), additional_params={'Property Tax Rate': pt_rate} + ) + + sam_econ = calculate_sam_economics(m) + cash_flow = sam_econ.sam_cash_flow_profile + + def get_row(name: str): + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + ptv_row = get_row('Property tax net assessed value ($)') + pte_row = get_row('Property tax expense ($)') + self.assertIsNotNone(pte_row) + self.assertAlmostEqual(ptv_row[1] * pt_rate, pte_row[1], places=0) # Assumes 100% property tax basis + + def test_incentives(self): + def assert_incentives(params, expected_ibi_usd): + m: Model = EconomicsSamTestCase._new_model(self._egs_test_file_path(), additional_params=params) + + sam_econ = calculate_sam_economics(m) + cash_flow = sam_econ.sam_cash_flow_profile + + def get_row(name: str): + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + other_ibi = get_row('Other IBI income ($)')[0] + total_ibi = get_row('Total IBI income ($)')[0] + self.assertEqual(expected_ibi_usd, other_ibi) + self.assertEqual(other_ibi, total_ibi) + + assert_incentives({'One-time Grants Etc': 1}, 1_000_000) + assert_incentives({'Other Incentives': 2.5}, 2_500_000) + + assert_incentives({'One-time Grants Etc': 100, 'Other Incentives': 0.1}, 100_100_000) + + def test_inflation_rate_during_construction(self): + infl_rate = 0.05 + r_no_infl = self._get_result({'Inflation Rate During Construction': 0}) + r_infl = self._get_result({'Inflation Rate During Construction': infl_rate}) + + cash_flow_no_infl = r_no_infl.result['SAM CASH FLOW PROFILE'] + cash_flow_infl = r_infl.result['SAM CASH FLOW PROFILE'] + + tic = 'Total installed cost ($)' + tic_no_infl = EconomicsSamTestCase._get_cash_flow_row(cash_flow_no_infl, tic)[0] + tic_infl = EconomicsSamTestCase._get_cash_flow_row(cash_flow_infl, tic)[0] + + self.assertAlmostEqual(tic_no_infl * (1 + infl_rate), tic_infl, places=0) + + def test_ptc(self): + def assert_ptc(params, expected_ptc_usd_per_kWh): + m: Model = EconomicsSamTestCase._new_model(self._egs_test_file_path(), additional_params=params) + + sam_econ = calculate_sam_economics(m) + cash_flow = sam_econ.sam_cash_flow_profile + + def get_row(name: str): + return EconomicsSamTestCase._get_cash_flow_row(cash_flow, name) + + ptc_vals = get_row('Federal PTC income ($)') + self.assertListAlmostEqual(expected_ptc_usd_per_kWh, ptc_vals, percent=1) + + assert_ptc({}, [0] * 21) + + base_expected = [ + 0, + 126447893, + 127031474, + 127215192, + 127324226, + 127400735, + 127459143, + 127506088, + 127545160, + 127578508, + 127607522, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + ] + + assert_ptc({'Production Tax Credit Electricity': 0.04}, base_expected) + + inflation_rate = 0.03 + + # Ideally this would be calculated from first principles here in the test (approximately: base_expected * + # an inflation vector with correct offset for PTC escalation year = 2), but this is fine for now. + inflation_expected = [ + 0, + 126447893, + 130207261, + 133575951, + 140056649, + 143325827, + 146578015, + 153007306, + 156242820, + 162662598, + 165889779, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + ] + + assert_ptc( + { + 'Production Tax Credit Electricity': 0.04, + 'Production Tax Credit Inflation Adjusted': True, + 'Inflation Rate': inflation_rate, + }, + inflation_expected, + ) + + shortened_term_duration_yr = 9 + shortened_term_expected = base_expected.copy() + shortened_term_expected[shortened_term_duration_yr + 1] = 0 + assert_ptc( + {'Production Tax Credit Electricity': 0.04, 'Production Tax Credit Duration': 9}, shortened_term_expected + ) + + def test_capacity_factor(self): + r_90 = self._get_result({'Utilization Factor': 0.9}) + cash_flow_90 = r_90.result['SAM CASH FLOW PROFILE'] + + r_20 = self._get_result({'Utilization Factor': 0.2}) + cash_flow_20 = r_20.result['SAM CASH FLOW PROFILE'] + + etg = 'Electricity to grid (kWh)' + + etg_90 = EconomicsSamTestCase._get_cash_flow_row(cash_flow_90, etg) + etg_20 = EconomicsSamTestCase._get_cash_flow_row(cash_flow_20, etg) + + etg_20_expected = [(etg_90_entry / 0.9) * 0.2 for etg_90_entry in etg_90] + + self.assertListAlmostEqual(etg_20_expected, etg_20, percent=1) + + def test_unsupported_econ_params_ignored_with_warning(self): + with self.assertLogs(level='INFO') as logs: + gtr_provided_result = self._get_result({'Gross Revenue Tax Rate': 0.5}) + + self.assertHasLogRecordWithMessage( + logs, + 'Gross Revenue Tax Rate provided value (0.5) will be ignored. ' + '(SAM Economics tax rates are determined from Combined Income Tax Rate and Property Tax Rate.)', + ) + + def _npv(r: GeophiresXResult) -> float: + return r.result['ECONOMIC PARAMETERS']['Project NPV']['value'] + + default_result = self._get_result({}) + + self.assertEqual(_npv(default_result), _npv(gtr_provided_result)) # Check GTR is ignored in calculations + + with self.assertLogs(level='INFO') as logs: + eir_provided_result = self._get_result({'Inflated Equity Interest Rate': 0.25}) + + self.assertHasLogRecordWithMessage( + logs, + 'Inflated Equity Interest Rate provided value (0.25) will be ignored. ' + '(SAM Economics does not support Inflated Equity Interest Rate.)', + ) + + self.assertEqual(_npv(default_result), _npv(eir_provided_result)) # Check EIR is ignored in calculations + + def test_carbon_calculations(self): + r = self._get_result( + { + 'Do Carbon Price Calculations': True, + 'Starting Carbon Credit Value': 0.015, + 'Ending Carbon Credit Value': 0.1, + 'Carbon Escalation Start Year': 5, + 'Carbon Escalation Rate Per Year': 0.01, + 'Units:Total Saved Carbon Production': 'kilotonne', + } + ) + + ace = r.result['SUMMARY OF RESULTS']['Total Avoided Carbon Emissions'] + self.assertEqual('kilotonne', ace['unit']) + self.assertAlmostEqualWithinPercentage(27159, ace['value'], percent=20) + + def test_clean_profile(self): + profile = [ + ['foo', 1, 2, 3], + [None] * 4, + ['bar', 4, 5, 6], + [None] * 4, + [None] * 4, + ['baz', 7, 8, 9], + ] + + clean = _clean_profile(profile) + + self.assertListEqual( + clean, + [ + ['foo', 1, 2, 3], + [None] * 4, + ['bar', 4, 5, 6], + [None] * 4, + ['baz', 7, 8, 9], + ], + ) + + def test_is_category_row_label(self): + self.assertTrue(_is_category_row_label('OPERATING ACTIVITIES')) + self.assertFalse(_is_category_row_label('plus PBI if not available for debt service:')) + + def test_is_designator_row_label(self): + self.assertTrue(_is_designator_row_label('plus PBI if not available for debt service:')) + + def test_sig_figs(self): + self.assertListEqual(_sig_figs([1.14, 2.24], 2), [1.1, 2.2]) + self.assertListEqual(_sig_figs((1.14, 2.24), 2), [1.1, 2.2]) + + def test_get_fed_and_state_tax_rates(self): + self.assertEqual(([21], [7]), _get_fed_and_state_tax_rates(0.28)) + self.assertEqual(([21], [0]), _get_fed_and_state_tax_rates(0.21)) + self.assertEqual(([21], [9]), _get_fed_and_state_tax_rates(0.3)) + self.assertEqual(([10], [0]), _get_fed_and_state_tax_rates(0.1)) + + @staticmethod + def _new_model(input_file: Path, additional_params: dict[str, Any] | None = None, read_and_calculate=True) -> Model: + if additional_params is not None: + params = GeophiresInputParameters(from_file_path=input_file, params=additional_params) + input_file = params.as_file_path() + + stash_cwd = Path.cwd() + stash_sys_argv = sys.argv + + sys.argv = [''] + + m = Model(enable_geophires_logging_config=False, input_file=input_file) + + sys.argv = stash_sys_argv + os.chdir(stash_cwd) + + if read_and_calculate: + m.read_parameters() + m.Calculate() + + return m diff --git a/tests/test_base_test_case.py b/tests/test_base_test_case.py index 1315f127f..47f6a5769 100644 --- a/tests/test_base_test_case.py +++ b/tests/test_base_test_case.py @@ -25,6 +25,22 @@ def test_assertAlmostEqualWithinPercentage(self): with self.assertRaises(AssertionError): self.assertListAlmostEqual([1, 2, 3], [1.1, 2.2, 3.3], percent=5) + def test_assertAlmostEqualWithinPercentage_bad_arguments(self): + with self.assertRaises(ValueError) as msg_type_error: + self.assertAlmostEqualWithinPercentage(100, 100, 10) + + self.assertIn(str(msg_type_error), '(you may have meant to pass percent=10)') + + with self.assertLogs(level='INFO') as logs: + with self.assertRaises(AssertionError): + self.assertAlmostEqualWithinPercentage([1, 2, 3], [1.1, 2.2, 3.3], percent=10.5) + + self.assertHasLogRecordWithMessage( + logs, + 'Got 2 lists, you probably meant to call:\n\t' + 'self.assertListAlmostEqual([1, 2, 3], [1.1, 2.2, 3.3], msg=None, percent=10.5)', + ) + if __name__ == '__main__': unittest.main() diff --git a/tests/test_geophires_utils.py b/tests/test_geophires_utils.py index f3b3b1c1d..3a1c45558 100644 --- a/tests/test_geophires_utils.py +++ b/tests/test_geophires_utils.py @@ -11,6 +11,8 @@ from geophires_x.GeoPHIRESUtils import enthalpy_water_kJ_per_kg from geophires_x.GeoPHIRESUtils import entropy_water_kJ_per_kg_per_K from geophires_x.GeoPHIRESUtils import heat_capacity_water_J_per_kg_per_K +from geophires_x.GeoPHIRESUtils import is_float +from geophires_x.GeoPHIRESUtils import is_int from geophires_x.GeoPHIRESUtils import quantity from geophires_x.GeoPHIRESUtils import vapor_pressure_water_kPa from geophires_x.GeoPHIRESUtils import viscosity_water_Pa_sec @@ -571,6 +573,16 @@ def test_input_comments(self): }, ) + def test_is_int_and_is_float(self): + self.assertTrue(is_int('1')) + self.assertFalse(is_int('1.1')) + self.assertTrue(is_float('1.1')) + + self.assertFalse(is_int('Year 0')) + self.assertFalse(is_float('Year 0')) + + self.assertFalse(is_float(None)) + if __name__ == '__main__': unittest.main() diff --git a/tests/test_geophires_x.py b/tests/test_geophires_x.py index 4ae5da67f..c7ef8fd36 100644 --- a/tests/test_geophires_x.py +++ b/tests/test_geophires_x.py @@ -569,17 +569,13 @@ def input_params(discount_rate=None, fixed_internal_rate=None): client = GeophiresXClient() - # noinspection PyPep8Naming - def assertHasLogRecordWithMessage(logs_, message): - assert message in [record.message for record in logs_.records] - with self.assertLogs(level='INFO') as logs: result = client.get_geophires_result(input_params(discount_rate='0.042')) self.assertIsNotNone(result) self.assertEqual(4.2, result.result['ECONOMIC PARAMETERS']['Interest Rate']['value']) self.assertEqual('%', result.result['ECONOMIC PARAMETERS']['Interest Rate']['unit']) - assertHasLogRecordWithMessage( + self.assertHasLogRecordWithMessage( logs, 'Set Fixed Internal Rate to 4.2 percent because Discount Rate was provided (0.042)' ) @@ -590,7 +586,7 @@ def assertHasLogRecordWithMessage(logs_, message): self.assertEqual(4.2, result2.result['ECONOMIC PARAMETERS']['Interest Rate']['value']) self.assertEqual('%', result2.result['ECONOMIC PARAMETERS']['Interest Rate']['unit']) - assertHasLogRecordWithMessage( + self.assertHasLogRecordWithMessage( logs2, 'Set Discount Rate to 0.042 because Fixed Internal Rate was provided (4.2 percent)' ) diff --git a/tests/test_geophires_x_client.py b/tests/test_geophires_x_client.py index 4936f1893..aa3b75bb9 100644 --- a/tests/test_geophires_x_client.py +++ b/tests/test_geophires_x_client.py @@ -487,37 +487,6 @@ def test_csv(self): 3. Copy-paste the value of `as_csv` (in Threads & Variables tab in PyCharm) to example1_addons.csv """ - def assertFileContentsEqual(expected_file_path, actual_file_path, tol=0.01): - with open(expected_file_path, encoding='utf-8') as ef: - expected_lines = ef.readlines() - with open(actual_file_path, encoding='utf-8') as af: - actual_lines = af.readlines() - - self.assertEqual(len(expected_lines), len(actual_lines), 'The number of lines in the files do not match.') - - for line_index, (expected_line, actual_line) in enumerate(zip(expected_lines, actual_lines), start=1): - expected_parts = expected_line.strip().split(',') - actual_parts = actual_line.strip().split(',') - self.assertEqual( - len(expected_parts), - len(actual_parts), - f'The number of columns in line {line_index} does not match.', - ) - for col_index, (expected, actual) in enumerate(zip(expected_parts, actual_parts), start=1): - try: - expected_float = float(expected) - actual_float = float(actual) - self.assertTrue( - abs(expected_float - actual_float) < tol, - f'Float values differ at line {line_index}, column {col_index}: {expected} != {actual}', - ) - except ValueError: - self.assertEqual( - expected, - actual, - f'String values differ at line {line_index}, column {col_index}: {expected} != {actual}', - ) - def assert_csv_equal(case_report_file_path, expected_csv_file_path): test_result_path = self._get_test_file_path(case_report_file_path) result = GeophiresXResult(test_result_path) @@ -527,7 +496,7 @@ def assert_csv_equal(case_report_file_path, expected_csv_file_path): result_file = Path(tempfile.gettempdir(), f'test_csv-result_{uuid.uuid1()!s}.csv') with open(result_file, 'w', newline='', encoding='utf-8') as rf: rf.write(as_csv) - assertFileContentsEqual(self._get_test_file_path(expected_csv_file_path), result_file) + self.assertCsvFileContentsEqual(self._get_test_file_path(expected_csv_file_path), result_file) for case in [ ('examples/example1_addons.out', 'example1_addons.csv'), @@ -536,6 +505,54 @@ def assert_csv_equal(case_report_file_path, expected_csv_file_path): with self.subTest(msg=case[0]): assert_csv_equal(case[0], case[1]) + op_example_file = 'examples/example_overpressure.out' + with self.subTest(msg=op_example_file): + # Ensure overpressure-specific RESERVOIR POWER REQUIRED PROFILES doesn't cause issues + op_result = GeophiresXResult(self._get_test_file_path(op_example_file)) + op_csv = op_result.as_csv() + self.assertIsNotNone(op_csv) + + sam_example_file = 'examples/example_SAM-single-owner-PPA.out' + with self.subTest(msg=sam_example_file): + sam_result = GeophiresXResult(self._get_test_file_path(sam_example_file)) + sam_csv = sam_result.as_csv() + self.assertIsNotNone(sam_csv) + sam_cf_lines = [line.split(',') for line in sam_csv.split('\n') if line.startswith('SAM CASH FLOW PROFILE')] + self.assertGreater(len(sam_cf_lines), 250) + # TODO test more of the content (but not full result given how big/complex it is, which would add undue + # maintenance overhead) + + def assertCsvFileContentsEqual(self, expected_file_path, actual_file_path, tol=0.01): + with open(expected_file_path, encoding='utf-8') as ef: + expected_lines = ef.readlines() + with open(actual_file_path, encoding='utf-8') as af: + actual_lines = af.readlines() + + self.assertEqual(len(expected_lines), len(actual_lines), 'The number of lines in the files do not match.') + + for line_index, (expected_line, actual_line) in enumerate(zip(expected_lines, actual_lines), start=1): + expected_parts = expected_line.strip().split(',') + actual_parts = actual_line.strip().split(',') + self.assertEqual( + len(expected_parts), + len(actual_parts), + f'The number of columns in line {line_index} does not match.', + ) + for col_index, (expected, actual) in enumerate(zip(expected_parts, actual_parts), start=1): + try: + expected_float = float(expected) + actual_float = float(actual) + self.assertTrue( + abs(expected_float - actual_float) < tol, + f'Float values differ at line {line_index}, column {col_index}: {expected} != {actual}', + ) + except ValueError: + self.assertEqual( + expected, + actual, + f'String values differ at line {line_index}, column {col_index}: {expected} != {actual}', + ) + def test_parse_chp_percent_cost_allocation(self): result = GeophiresXResult(self._get_test_file_path('examples/example3.out')) self.assertEqual( @@ -592,3 +609,13 @@ def test_parse_economic_model(self): result_legacy_em._lines = [' Economic Model = BICYCLE'] em_legacy = result_legacy_em._get_equal_sign_delimited_field('Economic Model') self.assertEqual(em_legacy, 'BICYCLE') + + def test_parse_sam_cash_flow_profile(self): + result = GeophiresXResult(self._get_test_file_path('examples/example_SAM-single-owner-PPA.out')) + em = result.result['ECONOMIC PARAMETERS']['Economic Model'] + self.assertEqual(em, 'SAM Single Owner PPA') + self.assertIn('SAM CASH FLOW PROFILE', result.result) + + cash_flow = result.result['SAM CASH FLOW PROFILE'] + self.assertIsNotNone(cash_flow) + self.assertListEqual([''] + [f'Year {y}' for y in range(21)], cash_flow[0]) diff --git a/tests/test_pre_commit_config.py b/tests/test_pre_commit_config.py new file mode 100644 index 000000000..1c85562d1 --- /dev/null +++ b/tests/test_pre_commit_config.py @@ -0,0 +1,19 @@ +import re +import unittest + + +class PreCommitConfigTestCase(unittest.TestCase): + """ + Utility for making updates to .pre-commit-config.yaml + """ + + def test_pre_commit_exclude_pattern(self): + pattern = r'^(\.tox|ci/templates|\.bumpversion\.cfg|src/geophires_x(?!/(GEOPHIRESv3|EconomicsSam|EconomicsSamCashFlow)\.py))(/|$)' + self.assertFalse(re.match(pattern, 'src/geophires_x/GEOPHIRESv3.py')) + self.assertFalse(re.match(pattern, 'src/geophires_x/EconomicsSam.py')) + self.assertFalse(re.match(pattern, 'src/geophires_x/EconomicsSamCashFlow.py')) + self.assertTrue(re.match(pattern, 'src/geophires_x/Economics.py')) + + +if __name__ == '__main__': + unittest.main()