Acados example 'example_p_global' fail to run

Hi together,

First of all thanks for the amazing optimization framework!

I am currently implementing an ocp problem including p_globals. While doing so, I run into an ValueError, so I tried to run the example ‘example_p_global.py’ from the official repo to exclude any mistake from my code. This results in the same error.

As the p_global feature is only compatible with casadi 3.7.2. I upgraded casadi to the specific version number. Unfortnunately, the error persists. Now, I do not know if the error is due to some old casadi versions lying around (although i couldnt find any) or this is indeed a bug.

When building casadi from source, do I need to set specific build arguments?

Thanks a lot for your help in advance.

The error output is as follows:

Running example with lut=True, use_p_global=True, blazing=False
Creating ocp solver with p_global = vertcat(m, l, C), p = g
Traceback (most recent call last):
File “/home/dill/ws/external/acados/examples/acados_python/p_global_example/example_p_global.py”, line 329, in
res_lut_no_blazing, t_lin_lut_no_blazing = main(use_cython=False, use_p_global=True, lut=True, blazing=False)
File “/home/dill/ws/external/acados/examples/acados_python/p_global_example/example_p_global.py”, line 237, in main
ocp_solver = AcadosOcpSolver(ocp, json_file = solver_json, generate=True, build=True)
File “/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py”, line 239, in init
self.generate(acados_ocp, json_file=acados_ocp.json_file, simulink_opts=simulink_opts, cmake_builder=cmake_builder, verbose=verbose)
File “/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py”, line 138, in generate
acados_ocp.generate_external_functions()
File “/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp.py”, line 1518, in generate_external_functions
context.finalize()
File “/home/dill/ws/external/acados/interfaces/acados_template/acados_template/casadi_function_generation.py”, line 198, in finalize
self.__setup_p_global_precompute_fun()
File “/home/dill/ws/external/acados/interfaces/acados_template/acados_template/casadi_function_generation.py”, line 147, in __setup_p_global_precompute_fun
[outputs_ret, symbols, param_expr] = ca.extract_parametric(outputs, self.p_global, {‘extract_trivial’: True})
ValueError: too many values to unpack (expected 3)

Hi,

can you verify your casadi version by running:

from casadi import CasadiMeta
casadi_version = CasadiMeta.version()
print(casadi_version)

Hi @FreyJo,
I yesterday also encountered this issue, with the latest acados commit and casadi 3.7.2

Cheers,
Franek

I was not able to reproduce the issue.
The example works for me with casadi 3.7.0 and 3.7.2.
Also looking at the CasADi Python API, extract_parametric has 3 output arguments.
I am on Ubuntu 22.04, Python 3.10.
The example is also tested on Github actions.

To just test the casadi functionality, you can maybe run:

import casadi as ca
casadi_version = ca.CasadiMeta.version()
print(casadi_version)


x = ca.SX.sym('x')
y = ca.SX.sym('y')

f = x**2 + y**2

[out_1, out_2, out_3] = ca.extract_parametric(f, y)

print("out_1:", out_1)
print("out_2:", out_2)
print("out_3:", out_3)

I get:

3.7.2
out_1: (sq(x)+e_0)
out_2: [SX(e_0)]
out_3: [SX(sq(y))]

I tested it in a fresh Docker image from ubuntu:24.04 with python 3.12.3 and casadi build from source.

Your example works:

Python 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.
>>> import casadi as ca
>>> casadi_version = ca.CasadiMeta.version()
>>> print(casadi_version)

3.7.2
>>> 
>>> 
>>> x = ca.SX.sym('x')
>>> y = ca.SX.sym('y')
>>> 
>>> f = x**2 + y**2
>>> 
>>> [out_1, out_2, out_3] = ca.extract_parametric(f, y)
>>> 
>>> print("out_1:", out_1)

out_1: (sq(x)+e_0)
>>> print("out_2:", out_2)

out_2: [SX(e_0)]
>>> print("out_3:", out_3)

out_3: [SX(sq(y))]
>>> 

But the example example_p_global.py fails:

Running example with lut=True, use_p_global=True, blazing=False
Creating ocp solver with p_global = vertcat(m, l, C), p = g
Traceback (most recent call last):
  File "/usr/local/src/acados/examples/acados_python/p_global_example/example_p_global.py", line 329, in <module>
    res_lut_no_blazing, t_lin_lut_no_blazing = main(use_cython=False, use_p_global=True, lut=True, blazing=False)
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/src/acados/examples/acados_python/p_global_example/example_p_global.py", line 237, in main
    ocp_solver = AcadosOcpSolver(ocp, json_file = solver_json, generate=True, build=True)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 258, in __init__
    self.generate(acados_ocp, json_file=acados_ocp.json_file, simulink_opts=simulink_opts, cmake_builder=cmake_builder, verbose=verbose)
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 157, in generate
    acados_ocp.generate_external_functions()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp.py", line 1527, in generate_external_functions
    context.finalize()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 199, in finalize
    self.__setup_p_global_precompute_fun()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 148, in __setup_p_global_precompute_fun
    [outputs_ret, symbols, param_expr] = ca.extract_parametric(outputs, self.p_global, {'extract_trivial': True})
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)

Edit:
I just attached a debugger. The failing call of ca.extrac_parameteric() in line 148 of casadi_function_generation.py, returns a list of length 5.
It happens for the loop counter i=1, which means the call before worked.
If you want I can also tell you the exact values of the function parameters outputs and self.p_global.
I agree that the documentation clearly states that the function should return 3 elements, I am therefore verifying now If this is indeed not a hidden casadi version clash somewhere.

Hi FreyJo,

Thank you for the fast reply.
The code outputs version 3.7.2 for me.

On a freshly installed system, I can indeed run the ‘example_p_global.py’ script successfully.

However my custom script which imports ‘pinocchio.casadi’ now fails with an import error and some linker related issue:
ImportError: /home/dill/.local/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_casadi.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN6casadi6MatrixINS_6SXElemEE9type_nameB5cxx11Ev

Also I noticed I have two different casadi versions lying around (after a preceeding cleanup beforehand) namely at the locations:

  • /home/dill/.local/lib/libcasadi.so.3.7/
  • /home/dill/.local/lib/python3.10/site-packages/casadi/libcasadi.so.3.7
    Those libraries seem not to coincide.

I installed

  • casadi
  • acados
  • pinocchio (with casadi)
    from source.

To conclude, I think the issue is not related to acados directly, but rather some issue related to casadi and/or pinocchio.

Although, this issue is most probably miss-located here, I am happy for any hints.
In the meanwhile I am trying to track down the issue on my own.
I ll update the issue if I find a solution as other acados user may run into this problem as well.

Best regards

Interesting to hear that you are running into the same problem. Still wierd that the issue is gone for me after reinstallation of casadi and acados.
I am running on Ubuntu 20.04 and python 3.10.

I am also building casadi from source. Do you have pinocchio installation files lying around?

I install pinocchio from source in version v3.8.0. - You have to be carefull as (I believe) acados is installing its own casadi version which missmatches with the one which pinocchio is using.

Yes, you are right. I just noticed that installing the python interface for acados (acados_template) will trigger a casadi install via pip. I have overlooked the print message before.
That is why i have two different casadi libraries lying around.

After deleting the pip casadi library and using the source install of casadi, I am back with the same error message again: “Too many values to unpack”.
Sorry for the confusion beforehand.

Thanks for checking Franek!

So the issue seems to be in a specific casadi version that you are building from source.
Which version are you using.
To clarify: This does not happen with an official casadi release, but with some other version?
Which casadi version are you using?

Maybe you can run with a debug print like here: Comparing acados:main...FreyJo:debug_casadi_extract · acados/acados · GitHub

Hi FreyJo,

I am using a source build with casadi version 3.7.2.

Specifically, the code

import casadi as ca

print(ca.CasadiMeta.version())
print(ca.CasadiMeta.build_type())
print(ca.CasadiMeta.git_revision())
print(ca.CasadiMeta.compiler())
print(ca.CasadiMeta.compiler_flags())
print(ca.CasadiMeta.install_prefix())

outputs the following for my source build

3.7.2
Release
0e672301aa9046162d311f69421f6375805f4fca
g++
 -fPIC    -DUSE_CXX11 -DHAVE_MKSTEMPS -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=7 -DCASADI_PATCH_VERSION=2 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell -DCASADI_SNPRINTF=snprintf

Running the example with your acados fork, returns

Error during extract_parametric for function pendulum_blazing_False_p_global_True_expl_vde_forw
too many values to unpack (expected 3)
Traceback (most recent call last):
  File "/home/dill/ws/external/acados/examples/acados_python/p_global_example/example_p_global.py", line 329, in <module>
    res_lut_no_blazing, t_lin_lut_no_blazing = main(use_cython=False, use_p_global=True, lut=True, blazing=False)
  File "/home/dill/ws/external/acados/examples/acados_python/p_global_example/example_p_global.py", line 237, in main
    ocp_solver = AcadosOcpSolver(ocp, json_file = solver_json, generate=True, build=True)
  File "/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 239, in __init__
    self.generate(acados_ocp, json_file=acados_ocp.json_file, simulink_opts=simulink_opts, cmake_builder=cmake_builder, verbose=verbose)
  File "/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 138, in generate
    acados_ocp.generate_external_functions()
  File "/home/dill/ws/external/acados/interfaces/acados_template/acados_template/acados_ocp.py", line 1518, in generate_external_functions
    context.finalize()
  File "/home/dill/ws/external/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 201, in finalize
    self.__setup_p_global_precompute_fun()
  File "/home/dill/ws/external/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 159, in __setup_p_global_precompute_fun
    outputs_ret = [ca.substitute(output, sym_new, sym) for output in outputs_ret]
  File "/home/dill/.local/lib/python3.10/site-packages/casadi/casadi.py", line 7720, in __iter__
    raise Exception("""CasADi matrices are not iterable by design.
Exception: CasADi matrices are not iterable by design.
                      Did you mean to iterate over m.nz, with m IM/DM/SX?
                      Did you mean to iterate over horzsplit(m,1)/vertsplit(m,1) with m IM/DM/SX/MX?

trying to match the build flags from pip package with my source installation

3.7.2
Release
0e672301aa9046162d311f69421f6375805f4fca
g++
 -pthread -fPIC    -DUSE_CXX11 -DHAVE_MKSTEMPS -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=7 -DCASADI_PATCH_VERSION=2 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell -DCASADI_SNPRINTF=snprintf -DCASADI_WITH_THREADSAFE_SYMBOLICS -DCASADI_WITH_THREAD

returns in the same error.

I am building casadi 3.7.2 from source, which I directly clone from github:

But as far as I understand, 3.7.2 is the latest official casadi realease.

With your debug print the output is:

Error during extract_parametric for function pendulum_blazing_False_p_global_True_expl_vde_forw
too many values to unpack (expected 3)
Traceback (most recent call last):
  File "/usr/local/src/acados/examples/acados_python/p_global_example/example_p_global.py", line 329, in <module>
    res_lut_no_blazing, t_lin_lut_no_blazing = main(use_cython=False, use_p_global=True, lut=True, blazing=False)
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/src/acados/examples/acados_python/p_global_example/example_p_global.py", line 237, in main
    ocp_solver = AcadosOcpSolver(ocp, json_file = solver_json, generate=True, build=True)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 258, in __init__
    self.generate(acados_ocp, json_file=acados_ocp.json_file, simulink_opts=simulink_opts, cmake_builder=cmake_builder, verbose=verbose)
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp_solver.py", line 157, in generate
    acados_ocp.generate_external_functions()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/acados_ocp.py", line 1527, in generate_external_functions
    context.finalize()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 205, in finalize
    self.__setup_p_global_precompute_fun()
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 154, in __setup_p_global_precompute_fun
    raise e
  File "/usr/local/src/acados/interfaces/acados_template/acados_template/casadi_function_generation.py", line 150, in __setup_p_global_precompute_fun
    [outputs_ret, symbols, param_expr] = ca.extract_parametric(outputs, self.p_global, {'extract_trivial': True})
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)

Edit:

The actual parameters are:
outputs = [MX(@1=cos(theta), @2=sin(theta), @3=(m*l), @4=sq(dtheta), @5=(1+m), @6=(@5-(m*sq(@1))), @7=((((F*@1)-(((@3*@1)*@2)*@4))+((@5*g)*@2))/(l*@6)), @8=0.5, (vertcat(v1, dtheta, ((((((m*g)*@1)*@2)-((@3*@2)*@4))+F)/@6), @7)[3] = (@7+(0.01*BSplineParametric(vertcat((@8+(F/100)), (@8+(theta/3.14159))), C)))))]

self.p_global = vertcat(m, l, C)

Hi,

Now it seems to me that the issue is only in self-compiled casadi.
I installed casadi 3.7.2 via pip and it worked.
It seems to be the same for @tkoepff looking at this:

Can you confirm this?

I am a bit surprised this happens for both of you in a short time, because casadi 3.7.2 was released in September 2025.
I have no easy way for reproducing it.
It would be useful to try rolling back acados releases or try casadi 3.7.1.

Best,
Jonathan

To report this to the casadi devs, it would be helpful to serialize the symbolics corresponding to the failing function definition, as in my latest commit here: Comparing acados:main...FreyJo:debug_casadi_extract · acados/acados · GitHub

For me, I don’t get an error, but the corresponding output should be something like this:

serializing function pendulum_blazing_False_p_global_True_expl_vde_forw for debugging:
Serialized inputs and outputs for debugging:
jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaebeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaihbdegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaehigfgehbgegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaghbdegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagaaaaaaaegehigfgehbgegndaaaaaaeaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaeghbaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaacaaaaaaadfihchiaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaacaaaaaaadffhchjaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaagechkaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaahgchlaaaaaaaaaaaaaaaebbdaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaangchlaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachcaaaaaaaaaaaaaaaegoaaaaaaabaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaoaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegnaaaaaaabaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaanaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaamgegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaeglaaaaaaabaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaalaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachkaaaaaaaaaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegmcaaaaaabdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachjbaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaeglaaaaaaabaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaalaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachibaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachobaaaaaaaaaaaaaachicaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegmcaaaaaaeelhebokhebokheipdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegmcaaaaaaeeaaaaaaaaaaaaaopdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegmcaaaaaajeegaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegmcaaaaaaeeibnceeeflpbcjaaeaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachocaaaaaaaaaaaaaachbdaaaaaaaaaaaaaaeggaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaegeabaaaaaaaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabpaaaaaaaaaaaaaacpaaaaaaaaaaaaaadpaaaaaaaaaaaaaaepaaaaaaaaaaaaaafpaaaaaaaaaaaaaagpaaaaaaaaaaaaaahpaaaaaaaaaaaaaaipaaaaaaaaaaaaaajpaaaaaaaaaaaaaakpaaaaaaaaaaaaaalpaaaaaaaaaaaaaampaaaaaaaaaaaaaanpaaaaaaaaaaaaaaopaaaaaaaaaaaaaappaaaaaaaaaaaaaabaaaaaaadeegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaicaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaegmcaaaaaakhegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachhdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachicaaaaaaaaaaaaaachidaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachjcaaaaaaaaaaaaaachjdaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkdaaaaaaaaaaaaaaebipaaaaaaaaaaaaaachiaaaaaaaaaaaaaaaegpdaaaaaabaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachmdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachabaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaacheeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachceaaaaaaaaaaaaaachfeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaacheaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachdbaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachheaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachebaaaaaaaaaaaaaaegmaaaaaaabaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaamaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachpdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachkeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachieaaaaaaaaaaaaaachleaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgeaaaaaaaaaaaaaachmeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachjbaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachneaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachibaaaaaaaaaaaaaachobaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachobaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegmaaaaaaabaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaamaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachbfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachcfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachoeaaaaaaaaaaaaaachdfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachacaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachgfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachffaaaaaaaaaaaaaachhfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachifaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachbcaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachkeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjfaaaaaaaaaaaaaachkfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachlfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmfaaaaaaaaaaaaaachnfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachecaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachofaaaaaaaaaaaaaachpfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaachhcaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachagaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachicaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachicaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachcfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachdgaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbgaaaaaaaaaaaaaachegaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachodaaaaaaaaaaaaaachpdaaaaaaaaaaaaaachefaaaaaaaaaaaaaachfgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachggaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachocaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachbdaaaaaaaaaaaaaachddaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegcabaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaegfeaaaaaabgbaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachedaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabcaaaaaaaaaaaaaabdaaaaaaaaaaaaaabeaaaaaaaaaaaaaabfaaaaaaaaaaaaaabgaaaaaaaaaaaaaabhaaaaaaaaaaaaaabiaaaaaaaaaaaaaabjaaaaaaaaaaaaaabkaaaaaaaaaaaaaablaaaaaaaaaaaaaabmaaaaaaaaaaaaaabnaaaaaaaaaaaaaaboaaaaaaaaaaaaaabpaaaaaaaaaaaaaacaaaaaaaaaaaaaaacbaaaaaaaaaaaaaaccaaaaaaaaaaaaaacdaaaaaaaaaaaaaaceaaaaaaaaaaaaaacfaaaaaaaaaaaaaacgaaaaaaaaaaaaaachaaaaaaaaaaaaaaciaaaaaaaaaaaaaacjaaaaaaaaaaaaaackaaaaaaaaaaaaaaclaaaaaaaaaaaaaacmaaaaaaaaaaaaaacnaaaaaaaaaaaaaacoaaaaaaaaaaaaaacpaaaaaaaaaaaaaadaaaaaaaaaaaaaaadbaaaaaaaaaaaaaadcaaaaaaaaaaaaaaddaaaaaaaaaaaaaadeaaaaaaaaaaaaaadfaaaaaaaaaaaaaadgaaaaaaaaaaaaaadhaaaaaaaaaaaaaadiaaaaaaaaaaaaaadjaaaaaaaaaaaaaadkaaaaaaaaaaaaaadlaaaaaaaaaaaaaadmaaaaaaaaaaaaaadnaaaaaaaaaaaaaadoaaaaaaaaaaaaaadpaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaecaaaaaaaaaaaaaaedaaaaaaaaaaaaaaeeaaaaaaaaaaaaaaefaaaaaaaaaaaaaaegaaaaaaaaaaaaaaehaaaaaaaaaaaaaaeiaaaaaaaaaaaaaaejaaaaaaaaaaaaaaekaaaaaaaaaaaaaaelaaaaaaaaaaaaaaemaaaaaaaaaaaaaaenaaaaaaaaaaaaaaeoaaaaaaaaaaaaaaepaaaaaaaaaaaaaafaaaaaaaaaaaaaaafbaaaaaaaaaaaaaafcaaaaaaaaaaaaaafdaaaaaaaaaaaaaafeaaaaaaaaaaaaaaffaaaaaaaaaaaaaafgaaaaaaaaaaaaaafhaaaaaaaaaaaaaafiaaaaaaaaaaaaaafjaaaaaaaaaaaaaafkaaaaaaaaaaaaaaflaaaaaaaaaaaaaafmaaaaaaaaaaaaaafnaaaaaaaaaaaaaafoaaaaaaaaaaaaaafpaaaaaaaaaaaaaagaaaaaaaaaaaaaaagbaaaaaaaaaaaaaagcaaaaaaaaaaaaaagdaaaaaaaaaaaaaageaaaaaaaaaaaaaagfaaaaaaaaaaaaaaggaaaaaaaaaaaaaaghaaaaaaaaaaaaaagiaaaaaaaaaaaaaagjaaaaaaaaaaaaaagkaaaaaaaaaaaaaaglaaaaaaaaaaaaaagmaaaaaaaaaaaaaagnaaaaaaaaaaaaaagoaaaaaaaaaaaaaagpaaaaaaaaaaaaaahaaaaaaaaaaaaaaahbaaaaaaaaaaaaaahcaaaaaaaaaaaaaahdaaaaaaaaaaaaaaheaaaaaaaaaaaaaahfaaaaaaaaaaaaaahgaaaaaaaaaaaaaahhaaaaaaaaaaaaaahiaaaaaaaaaaaaaahjaaaaaaaaaaaaaahkaaaaaaaaaaaaaahlaaaaaaaaaaaaaahmaaaaaaaaaaaaaahnaaaaaaaaaaaaaahoaaaaaaaaaaaaaahpaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaibaaaaaaaaaaaaaaicaaaaaaaaaaaaaaidaaaaaaaaaaaaaaieaaaaaaaaaaaaaaifaaaaaaaaaaaaaaigaaaaaaaaaaaaaaihaaaaaaaaaaaaaaiiaaaaaaaaaaaaaaijaaaaaaaaaaaaaaikaaaaaaaaaaaaaailaaaaaaaaaaaaaaimaaaaaaaaaaaaaainaaaaaaaaaaaaaaioaaaaaaaaaaaaaaipaaaaaaaaaaaaaajaaaaaaaaaaaaaaajbaaaaaaaaaaaaaajcaaaaaaaaaaaaaajdaaaaaaaaaaaaaajeaaaaaaaaaaaaaajfaaaaaaaaaaaaaajgaaaaaaaaaaaaaajhaaaaaaaaaaaaaajiaaaaaaaaaaaaaajjaaaaaaaaaaaaaajkaaaaaaaaaaaaaajlaaaaaaaaaaaaaajmaaaaaaaaaaaaaajnaaaaaaaaaaaaaajoaaaaaaaaaaaaaajpaaaaaaaaaaaaaakaaaaaaaaaaaaaaakbaaaaaaaaaaaaaakcaaaaaaaaaaaaaakdaaaaaaaaaaaaaakeaaaaaaaaaaaaaakfaaaaaaaaaaaaaakgaaaaaaaaaaaaaakhaaaaaaaaaaaaaakiaaaaaaaaaaaaaakjaaaaaaaaaaaaaakkaaaaaaaaaaaaaaklaaaaaaaaaaaaaakmaaaaaaaaaaaaaaknaaaaaaaaaaaaaakoaaaaaaaaaaaaaakpaaaaaaaaaaaaaalaaaaaaaaaaaaaaalbaaaaaaaaaaaaaalcaaaaaaaaaaaaaaldaaaaaaaaaaaaaaleaaaaaaaaaaaaaalfaaaaaaaaaaaaaalgaaaaaaaaaaaaaalhaaaaaaaaaaaaaaliaaaaaaaaaaaaaaljaaaaaaaaaaaaaalkaaaaaaaaaaaaaallaaaaaaaaaaaaaalmaaaaaaaaaaaaaalnaaaaaaaaaaaaaaloaaaaaaaaaaaaaalpaaaaaaaaaaaaaamaaaaaaaaaaaaaaambaaaaaaaaaaaaaamcaaaaaaaaaaaaaamdaaaaaaaaaaaaaameaaaaaaaaaaaaaamfaaaaaaaaaaaaaamgaaaaaaaaaaaaaamhaaaaaaaaaaaaaamiaaaaaaaaaaaaaamjaaaaaaaaaaaaaamkaaaaaaaaaaaaaamlaaaaaaaaaaaaaammaaaaaaaaaaaaaamnaaaaaaaaaaaaaamoaaaaaaaaaaaaaampaaaaaaaaaaaaaanaaaaaaaaaaaaaaanbaaaaaaaaaaaaaancaaaaaaaaaaaaaandaaaaaaaaaaaaaaneaaaaaaaaaaaaaanfaaaaaaaaaaaaaangaaaaaaaaaaaaaanhaaaaaaaaaaaaaaniaaaaaaaaaaaaaanjaaaaaaaaaaaaaankaaaaaaaaaaaaaanlaaaaaaaaaaaaaanmaaaaaaaaaaaaaannaaaaaaaaaaaaaanoaaaaaaaaaaaaaanpaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaocaaaaaaaaaaaaaaodaaaaaaaaaaaaaaoeaaaaaaaaaaaaaaofaaaaaaaaaaaaaaogaaaaaaaaaaaaaaohaaaaaaaaaaaaaaoiaaaaaaaaaaaaaaojaaaaaaaaaaaaaaokaaaaaaaaaaaaaaolaaaaaaaaaaaaaaomaaaaaaaaaaaaaaonaaaaaaaaaaaaaaooaaaaaaaaaaaaaaopaaaaaaaaaaaaaapaaaaaaaaaaaaaaapbaaaaaaaaaaaaaapcaaaaaaaaaaaaaapdaaaaaaaaaaaaaapeaaaaaaaaaaaaaapfaaaaaaaaaaaaaapgaaaaaaaaaaaaaaphaaaaaaaaaaaaaapiaaaaaaaaaaaaaapjaaaaaaaaaaaaaapkaaaaaaaaaaaaaaplaaaaaaaaaaaaaapmaaaaaaaaaaaaaapnaaaaaaaaaaaaaapoaaaaaaaaaaaaaappaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachlgaaaaaaaaaaaaaaegdbbaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaegmcaaaaaabgaaaaaaaaaaaaaaaaegadaaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaakaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaabaaaaaaaaaaaaaacbaaaaaaaaaaaaaaebaaaaaaaaaaaaaagbaaaaaaaaaaaaaaibaaaaaaaaaaaaaakbaaaaaaaaaaaaaambaaaaaaaaaaaaaaobaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdegedaaaaaaaadaaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachngaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachjgaaaaaaaaaaaaaaegfeaaaaaabgbaaaaaaaaaaaaaaachahaaaaaaaaaaaaaaegepaaaaaaaaaaaaaaapaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaabaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabcaaaaaaaaaaaaaabdaaaaaaaaaaaaaabeaaaaaaaaaaaaaabfaaaaaaaaaaaaaabgaaaaaaaaaaaaaabhaaaaaaaaaaaaaabiaaaaaaaaaaaaaabjaaaaaaaaaaaaaabkaaaaaaaaaaaaaablaaaaaaaaaaaaaabmaaaaaaaaaaaaaabnaaaaaaaaaaaaaaboaaaaaaaaaaaaaacaaaaaaaaaaaaaaacbaaaaaaaaaaaaaaccaaaaaaaaaaaaaacdaaaaaaaaaaaaaaceaaaaaaaaaaaaaacfaaaaaaaaaaaaaacgaaaaaaaaaaaaaachaaaaaaaaaaaaaaciaaaaaaaaaaaaaacjaaaaaaaaaaaaaackaaaaaaaaaaaaaaclaaaaaaaaaaaaaacmaaaaaaaaaaaaaacnaaaaaaaaaaaaaacoaaaaaaaaaaaaaadaaaaaaaaaaaaaaadbaaaaaaaaaaaaaadcaaaaaaaaaaaaaaddaaaaaaaaaaaaaadeaaaaaaaaaaaaaadfaaaaaaaaaaaaaadgaaaaaaaaaaaaaadhaaaaaaaaaaaaaadiaaaaaaaaaaaaaadjaaaaaaaaaaaaaadkaaaaaaaaaaaaaadlaaaaaaaaaaaaaadmaaaaaaaaaaaaaadnaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaecaaaaaaaaaaaaaaedaaaaaaaaaaaaaaeeaaaaaaaaaaaaaaefaaaaaaaaaaaaaaegaaaaaaaaaaaaaaehaaaaaaaaaaaaaaeiaaaaaaaaaaaaaaejaaaaaaaaaaaaaaekaaaaaaaaaaaaaaelaaaaaaaaaaaaaaemaaaaaaaaaaaaaaenaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafaaaaaaaaaaaaaaafbaaaaaaaaaaaaaafcaaaaaaaaaaaaaafdaaaaaaaaaaaaaafeaaaaaaaaaaaaaaffaaaaaaaaaaaaaafgaaaaaaaaaaaaaafhaaaaaaaaaaaaaafiaaaaaaaaaaaaaafjaaaaaaaaaaaaaafkaaaaaaaaaaaaaaflaaaaaaaaaaaaaafmaaaaaaaaaaaaaafnaaaaaaaaaaaaaafoaaaaaaaaaaaaaagaaaaaaaaaaaaaaagbaaaaaaaaaaaaaagcaaaaaaaaaaaaaagdaaaaaaaaaaaaaageaaaaaaaaaaaaaagfaaaaaaaaaaaaaaggaaaaaaaaaaaaaaghaaaaaaaaaaaaaagiaaaaaaaaaaaaaagjaaaaaaaaaaaaaagkaaaaaaaaaaaaaaglaaaaaaaaaaaaaagmaaaaaaaaaaaaaagnaaaaaaaaaaaaaagoaaaaaaaaaaaaaahaaaaaaaaaaaaaaahbaaaaaaaaaaaaaahcaaaaaaaaaaaaaahdaaaaaaaaaaaaaaheaaaaaaaaaaaaaahfaaaaaaaaaaaaaahgaaaaaaaaaaaaaahhaaaaaaaaaaaaaahiaaaaaaaaaaaaaahjaaaaaaaaaaaaaahkaaaaaaaaaaaaaahlaaaaaaaaaaaaaahmaaaaaaaaaaaaaahnaaaaaaaaaaaaaahoaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaibaaaaaaaaaaaaaaicaaaaaaaaaaaaaaidaaaaaaaaaaaaaaieaaaaaaaaaaaaaaifaaaaaaaaaaaaaaigaaaaaaaaaaaaaaihaaaaaaaaaaaaaaiiaaaaaaaaaaaaaaijaaaaaaaaaaaaaaikaaaaaaaaaaaaaailaaaaaaaaaaaaaaimaaaaaaaaaaaaaainaaaaaaaaaaaaaaioaaaaaaaaaaaaaajaaaaaaaaaaaaaaajbaaaaaaaaaaaaaajcaaaaaaaaaaaaaajdaaaaaaaaaaaaaajeaaaaaaaaaaaaaajfaaaaaaaaaaaaaajgaaaaaaaaaaaaaajhaaaaaaaaaaaaaajiaaaaaaaaaaaaaajjaaaaaaaaaaaaaajkaaaaaaaaaaaaaajlaaaaaaaaaaaaaajmaaaaaaaaaaaaaajnaaaaaaaaaaaaaajoaaaaaaaaaaaaaakaaaaaaaaaaaaaaakbaaaaaaaaaaaaaakcaaaaaaaaaaaaaakdaaaaaaaaaaaaaakeaaaaaaaaaaaaaakfaaaaaaaaaaaaaakgaaaaaaaaaaaaaakhaaaaaaaaaaaaaakiaaaaaaaaaaaaaakjaaaaaaaaaaaaaakkaaaaaaaaaaaaaaklaaaaaaaaaaaaaakmaaaaaaaaaaaaaaknaaaaaaaaaaaaaakoaaaaaaaaaaaaaalaaaaaaaaaaaaaaalbaaaaaaaaaaaaaalcaaaaaaaaaaaaaaldaaaaaaaaaaaaaaleaaaaaaaaaaaaaalfaaaaaaaaaaaaaalgaaaaaaaaaaaaaalhaaaaaaaaaaaaaaliaaaaaaaaaaaaaaljaaaaaaaaaaaaaalkaaaaaaaaaaaaaallaaaaaaaaaaaaaalmaaaaaaaaaaaaaalnaaaaaaaaaaaaaaloaaaaaaaaaaaaaamaaaaaaaaaaaaaaambaaaaaaaaaaaaaamcaaaaaaaaaaaaaamdaaaaaaaaaaaaaameaaaaaaaaaaaaaamfaaaaaaaaaaaaaamgaaaaaaaaaaaaaamhaaaaaaaaaaaaaamiaaaaaaaaaaaaaamjaaaaaaaaaaaaaamkaaaaaaaaaaaaaamlaaaaaaaaaaaaaammaaaaaaaaaaaaaamnaaaaaaaaaaaaaamoaaaaaaaaaaaaaanaaaaaaaaaaaaaaanbaaaaaaaaaaaaaancaaaaaaaaaaaaaandaaaaaaaaaaaaaaneaaaaaaaaaaaaaanfaaaaaaaaaaaaaangaaaaaaaaaaaaaanhaaaaaaaaaaaaaaniaaaaaaaaaaaaaanjaaaaaaaaaaaaaankaaaaaaaaaaaaaanlaaaaaaaaaaaaaanmaaaaaaaaaaaaaannaaaaaaaaaaaaaanoaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaocaaaaaaaaaaaaaaodaaaaaaaaaaaaaaoeaaaaaaaaaaaaaaofaaaaaaaaaaaaaaogaaaaaaaaaaaaaaohaaaaaaaaaaaaaaoiaaaaaaaaaaaaaaojaaaaaaaaaaaaaaokaaaaaaaaaaaaaaolaaaaaaaaaaaaaaomaaaaaaaaaaaaaaonaaaaaaaaaaaaaaooaaaaaaaaaaaaaapaaaaaaaaaaaaaaapbaaaaaaaaaaaaaapcaaaaaaaaaaaaaapdaaaaaaaaaaaaaapeaaaaaaaaaaaaaapfaaaaaaaaaaaaaapgaaaaaaaaaaaaaaphaaaaaaaaaaaaaapiaaaaaaaaaaaaaapjaaaaaaaaaaaaaapkaaaaaaaaaaaaaaplaaaaaaaaaaaaaapmaaaaaaaaaaaaaapnaaaaaaaaaaaaaapoaaaaaaaaaaaaaaegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachchaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagcaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbaaaaaaaaaaaaaagcaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaachgdaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachmgaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachehaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachjgaaaaaaaaaaaaaaegmfaaaaaabaaaaaaaaaaaaaaachfhaaaaaaaaaaaaaachbhaaaaaaaaaaaaaaegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachghaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaeaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaebaaaaaaaaaaaaaagcaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaapaaaaaaaaaaaaaachgdaaaaaaaaaaaaaaegmdaaaaaacaaaaaaaaaaaaaaachdhaaaaaaaaaaaaaachhhaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegmcaaaaaaeediimjmngadpfenpdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachnhaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachphaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachaiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachfgaaaaaaaaaaaaaachbiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachigaaaaaaaaaaaaaachciaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaacheiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachmiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkiaaaaaaaaaaaaaachniaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachpiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachhiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachbjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachajaaaaaaaaaaaaaachcjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachoiaaaaaaaaaaaaaachdjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachejaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachgjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachhjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfjaaaaaaaaaaaaaachijaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachljaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkjaaaaaaaaaaaaaachmjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachnjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachbjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachojaaaaaaaaaaaaaachpjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachakaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbkaaaaaaaaaaaaaachckaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachdkaaaaaaaaaaaaaachekaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachfkaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachhjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachhkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgkaaaaaaaaaaaaaachikaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachgiaaaaaaaaaaaaaachhiaaaaaaaaaaaaaachjjaaaaaaaaaaaaaachjkaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachkkaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachmkaaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachnkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachokaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjkaaaaaaaaaaaaaachpkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachlkaaaaaaaaaaaaaachalaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachclaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachklaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachilaaaaaaaaaaaaaachllaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachnlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachflaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachplaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaacholaaaaaaaaaaaaaachamaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmlaaaaaaaaaaaaaachbmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachcmaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachemaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachfmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachdmaaaaaaaaaaaaaachgmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachjmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachimaaaaaaaaaaaaaachkmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachlmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachplaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachmmaaaaaaaaaaaaaachnmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachomaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachpmaaaaaaaaaaaaaachanaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachbnaaaaaaaaaaaaaachcnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachdnaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachfnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachenaaaaaaaaaaaaaachgnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachelaaaaaaaaaaaaaachflaaaaaaaaaaaaaachhmaaaaaaaaaaaaaachhnaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachinaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachknaaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachlnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachmnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachhnaaaaaaaaaaaaaachnnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachjnaaaaaaaaaaaaaachonaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachaoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachioaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgoaaaaaaaaaaaaaachjoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachloaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachdoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachnoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachmoaaaaaaaaaaaaaachooaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkoaaaaaaaaaaaaaachpoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachapaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachdpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbpaaaaaaaaaaaaaachepaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachhpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgpaaaaaaaaaaaaaachipaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachjpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachnoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachkpaaaaaaaaaaaaaachlpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachmpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachnpaaaaaaaaaaaaaachopaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachppaaaaaaaaaaaaaachaabaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachbabaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachdpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachdabaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachcabaaaaaaaaaaaaacheabaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachcoaaaaaaaaaaaaaachdoaaaaaaaaaaaaaachfpaaaaaaaaaaaaaachfabaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachgabaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachiabaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachjabaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachkabaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachfabaaaaaaaaaaaaachlabaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachhabaaaaaaaaaaaaachmabaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegmdaaaaaaeaaaaaaaaaaaaaaachdiaaaaaaaaaaaaaachblaaaaaaaaaaaaaachpnaaaaaaaaaaaaaachnabaaaaaaaaaaaaachhaaaaaaaaaaaaaaaeblhaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachjbaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaaegecaaaaaabaaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaecaaaaaachcbaaaaaaaaaaaaaachhcaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachbbbaaaaaaaaaaaaachcbbaaaaaaaaaaaaaeggaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachebbaaaaaaaaaaaaachhgaaaaaaaaaaaaaachdbbaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachocaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachbdaaaaaaaaaaaaaachddaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachlgaaaaaaaaaaaaaachngaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachahaaaaaaaaaaaaaachchaaaaaaaaaaaaaachdhaaaaaaaaaaaaaachehaaaaaaaaaaaaaachfhaaaaaaaaaaaaaachghaaaaaaaaaaaaaachhhaaaaaaaaaaaaaachjhaaaaaaaaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlhaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachhbbaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachibbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachcbbaaaaaaaaaaaaachjbbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachfbbaaaaaaaaaaaaachkbbaaaaaaaaaaaaachdbbaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegfeaaaaaacgbaaaaaaaaaaaaaaachlbbaaaaaaaaaaaaachcdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachabbaaaaaaaaaaaaachmbbaaaaaaaaaaaaachpabaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachnbbaaaaaaaaaaaaachdbbaaaaaaaaaaaaaegleaaaaaaegbaaaaaaaaaaaaaaachobbaaaaaaaaaaaaachfaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachabaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachhcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfcbaaaaaaaaaaaaachicbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaacheaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachdbaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachkcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachebaaaaaaaaaaaaaachjeaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachccbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachmcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachlcbaaaaaaaaaaaaachncbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachjcbaaaaaaaaaaaaachocbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachpcbaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachibaaaaaaaaaaaaaachobaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachafaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachbdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachcdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachadbaaaaaaaaaaaaachddbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachacaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachgdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfdbaaaaaaaaaaaaachhdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachidbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachbcaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachmcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjdbaaaaaaaaaaaaachkdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachldbaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmdbaaaaaaaaaaaaachndbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachecaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachodbaaaaaaaaaaaaachpdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachaebaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachicaaaaaaaaaaaaaachcgaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachcdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachcebaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbebaaaaaaaaaaaaachdebaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachbcbaaaaaaaaaaaaachccbaaaaaaaaaaaaachedbaaaaaaaaaaaaacheebaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachfebaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachhebaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachiebaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachjebaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaacheebaaaaaaaaaaaaachkebaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachgebaaaaaaaaaaaaachlebaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachpbbaaaaaaaaaaaaachmebaaaaaaaaaaaaachfaaaaaaaaaaaaaaabaaaaaaachnebaaaaaaaaaaaaaebdaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaegndaaaaaadaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaeggabaaaaaaaaaaaaacabaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabpaaaaaaaaaaaaaacpaaaaaaaaaaaaaadpaaaaaaaaaaaaaaepaaaaaaaaaaaaaafpaaaaaaaaaaaaaagpaaaaaaaaaaaaaahpaaaaaaaaaaaaaaipaaaaaaaaaaaaaajpaaaaaaaaaaaaaakpaaaaaaaaaaaaaalpaaaaaaaaaaaaaampaaaaaaaaaaaaaanpaaaaaaaaaaaaaaopaaaaaaaaaaaaaappaaaaaaaaaaaaaaaabaaaaaaaaaaaaababaaaaaaaaaaaaa
Expression names:
['input_0', 'input_1', 'input_2', 'input_3', 'input_4', 'output_0', 'output_1', 'output_2', 'p_global']

Indeed I can confirm that when installing casadi 3.7.2 via pip it works.

The serialized output is:

Error during extract_parametric for function pendulum_blazing_False_p_global_True_expl_vde_forw
too many values to unpack (expected 3)
Serialized inputs and outputs for debugging:
jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaebeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaihbdegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaehigfgehbgegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaghbdegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagaaaaaaaegehigfgehbgegndaaaaaaeaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaeghbaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaacaaaaaaadfihchiaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaacaaaaaaadffhchjaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaagechkaaaaaaaaaaaaaaaebbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaahgchlaaaaaaaaaaaaaaaebbdaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaangchlaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachcaaaaaaaaaaaaaaaegoaaaaaaabaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaoaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegnaaaaaaabaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaanaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaamgegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaeglaaaaaaabaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaalaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachkaaaaaaaaaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegmcaaaaaabdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachjbaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaeglaaaaaaabaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaalaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachibaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachobaaaaaaaaaaaaaachicaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegmcaaaaaaeelhebokhebokheipdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegmcaaaaaaeeaaaaaaaaaaaaaopdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegmcaaaaaajeegaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegmcaaaaaaeeibnceeeflpbcjaaeaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachocaaaaaaaaaaaaaachbdaaaaaaaaaaaaaaeggaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaaaaaaaaaegeabaaaaaaaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabpaaaaaaaaaaaaaacpaaaaaaaaaaaaaadpaaaaaaaaaaaaaaepaaaaaaaaaaaaaafpaaaaaaaaaaaaaagpaaaaaaaaaaaaaahpaaaaaaaaaaaaaaipaaaaaaaaaaaaaajpaaaaaaaaaaaaaakpaaaaaaaaaaaaaalpaaaaaaaaaaaaaampaaaaaaaaaaaaaanpaaaaaaaaaaaaaaopaaaaaaaaaaaaaappaaaaaaaaaaaaaabaaaaaaadeegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaicaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaegmcaaaaaakhegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachhdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachicaaaaaaaaaaaaaachidaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachjcaaaaaaaaaaaaaachjdaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkdaaaaaaaaaaaaaaebipaaaaaaaaaaaaaachiaaaaaaaaaaaaaaaegpdaaaaaabaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachmdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachndaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachabaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaacheeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachceaaaaaaaaaaaaaachfeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaacheaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachdbaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachheaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachebaaaaaaaaaaaaaaegmaaaaaaabaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaamaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachpdaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachkeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachieaaaaaaaaaaaaaachleaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgeaaaaaaaaaaaaaachmeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachjbaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachneaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachibaaaaaaaaaaaaaachobaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachobaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegmaaaaaaabaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaamaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachbfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachcfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachoeaaaaaaaaaaaaaachdfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachacaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachgfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachffaaaaaaaaaaaaaachhfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachifaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachbcaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachkeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjfaaaaaaaaaaaaaachkfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachlfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachdeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmfaaaaaaaaaaaaaachnfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachecaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachbeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachofaaaaaaaaaaaaaachpfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaachhcaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachagaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachicaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachicaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachcfaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachdgaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbgaaaaaaaaaaaaaachegaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachodaaaaaaaaaaaaaachpdaaaaaaaaaaaaaachefaaaaaaaaaaaaaachfgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachggaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachocaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachbdaaaaaaaaaaaaaachddaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegcabaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaegfeaaaaaabgbaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachedaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabcaaaaaaaaaaaaaabdaaaaaaaaaaaaaabeaaaaaaaaaaaaaabfaaaaaaaaaaaaaabgaaaaaaaaaaaaaabhaaaaaaaaaaaaaabiaaaaaaaaaaaaaabjaaaaaaaaaaaaaabkaaaaaaaaaaaaaablaaaaaaaaaaaaaabmaaaaaaaaaaaaaabnaaaaaaaaaaaaaaboaaaaaaaaaaaaaabpaaaaaaaaaaaaaacaaaaaaaaaaaaaaacbaaaaaaaaaaaaaaccaaaaaaaaaaaaaacdaaaaaaaaaaaaaaceaaaaaaaaaaaaaacfaaaaaaaaaaaaaacgaaaaaaaaaaaaaachaaaaaaaaaaaaaaciaaaaaaaaaaaaaacjaaaaaaaaaaaaaackaaaaaaaaaaaaaaclaaaaaaaaaaaaaacmaaaaaaaaaaaaaacnaaaaaaaaaaaaaacoaaaaaaaaaaaaaacpaaaaaaaaaaaaaadaaaaaaaaaaaaaaadbaaaaaaaaaaaaaadcaaaaaaaaaaaaaaddaaaaaaaaaaaaaadeaaaaaaaaaaaaaadfaaaaaaaaaaaaaadgaaaaaaaaaaaaaadhaaaaaaaaaaaaaadiaaaaaaaaaaaaaadjaaaaaaaaaaaaaadkaaaaaaaaaaaaaadlaaaaaaaaaaaaaadmaaaaaaaaaaaaaadnaaaaaaaaaaaaaadoaaaaaaaaaaaaaadpaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaecaaaaaaaaaaaaaaedaaaaaaaaaaaaaaeeaaaaaaaaaaaaaaefaaaaaaaaaaaaaaegaaaaaaaaaaaaaaehaaaaaaaaaaaaaaeiaaaaaaaaaaaaaaejaaaaaaaaaaaaaaekaaaaaaaaaaaaaaelaaaaaaaaaaaaaaemaaaaaaaaaaaaaaenaaaaaaaaaaaaaaeoaaaaaaaaaaaaaaepaaaaaaaaaaaaaafaaaaaaaaaaaaaaafbaaaaaaaaaaaaaafcaaaaaaaaaaaaaafdaaaaaaaaaaaaaafeaaaaaaaaaaaaaaffaaaaaaaaaaaaaafgaaaaaaaaaaaaaafhaaaaaaaaaaaaaafiaaaaaaaaaaaaaafjaaaaaaaaaaaaaafkaaaaaaaaaaaaaaflaaaaaaaaaaaaaafmaaaaaaaaaaaaaafnaaaaaaaaaaaaaafoaaaaaaaaaaaaaafpaaaaaaaaaaaaaagaaaaaaaaaaaaaaagbaaaaaaaaaaaaaagcaaaaaaaaaaaaaagdaaaaaaaaaaaaaageaaaaaaaaaaaaaagfaaaaaaaaaaaaaaggaaaaaaaaaaaaaaghaaaaaaaaaaaaaagiaaaaaaaaaaaaaagjaaaaaaaaaaaaaagkaaaaaaaaaaaaaaglaaaaaaaaaaaaaagmaaaaaaaaaaaaaagnaaaaaaaaaaaaaagoaaaaaaaaaaaaaagpaaaaaaaaaaaaaahaaaaaaaaaaaaaaahbaaaaaaaaaaaaaahcaaaaaaaaaaaaaahdaaaaaaaaaaaaaaheaaaaaaaaaaaaaahfaaaaaaaaaaaaaahgaaaaaaaaaaaaaahhaaaaaaaaaaaaaahiaaaaaaaaaaaaaahjaaaaaaaaaaaaaahkaaaaaaaaaaaaaahlaaaaaaaaaaaaaahmaaaaaaaaaaaaaahnaaaaaaaaaaaaaahoaaaaaaaaaaaaaahpaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaibaaaaaaaaaaaaaaicaaaaaaaaaaaaaaidaaaaaaaaaaaaaaieaaaaaaaaaaaaaaifaaaaaaaaaaaaaaigaaaaaaaaaaaaaaihaaaaaaaaaaaaaaiiaaaaaaaaaaaaaaijaaaaaaaaaaaaaaikaaaaaaaaaaaaaailaaaaaaaaaaaaaaimaaaaaaaaaaaaaainaaaaaaaaaaaaaaioaaaaaaaaaaaaaaipaaaaaaaaaaaaaajaaaaaaaaaaaaaaajbaaaaaaaaaaaaaajcaaaaaaaaaaaaaajdaaaaaaaaaaaaaajeaaaaaaaaaaaaaajfaaaaaaaaaaaaaajgaaaaaaaaaaaaaajhaaaaaaaaaaaaaajiaaaaaaaaaaaaaajjaaaaaaaaaaaaaajkaaaaaaaaaaaaaajlaaaaaaaaaaaaaajmaaaaaaaaaaaaaajnaaaaaaaaaaaaaajoaaaaaaaaaaaaaajpaaaaaaaaaaaaaakaaaaaaaaaaaaaaakbaaaaaaaaaaaaaakcaaaaaaaaaaaaaakdaaaaaaaaaaaaaakeaaaaaaaaaaaaaakfaaaaaaaaaaaaaakgaaaaaaaaaaaaaakhaaaaaaaaaaaaaakiaaaaaaaaaaaaaakjaaaaaaaaaaaaaakkaaaaaaaaaaaaaaklaaaaaaaaaaaaaakmaaaaaaaaaaaaaaknaaaaaaaaaaaaaakoaaaaaaaaaaaaaakpaaaaaaaaaaaaaalaaaaaaaaaaaaaaalbaaaaaaaaaaaaaalcaaaaaaaaaaaaaaldaaaaaaaaaaaaaaleaaaaaaaaaaaaaalfaaaaaaaaaaaaaalgaaaaaaaaaaaaaalhaaaaaaaaaaaaaaliaaaaaaaaaaaaaaljaaaaaaaaaaaaaalkaaaaaaaaaaaaaallaaaaaaaaaaaaaalmaaaaaaaaaaaaaalnaaaaaaaaaaaaaaloaaaaaaaaaaaaaalpaaaaaaaaaaaaaamaaaaaaaaaaaaaaambaaaaaaaaaaaaaamcaaaaaaaaaaaaaamdaaaaaaaaaaaaaameaaaaaaaaaaaaaamfaaaaaaaaaaaaaamgaaaaaaaaaaaaaamhaaaaaaaaaaaaaamiaaaaaaaaaaaaaamjaaaaaaaaaaaaaamkaaaaaaaaaaaaaamlaaaaaaaaaaaaaammaaaaaaaaaaaaaamnaaaaaaaaaaaaaamoaaaaaaaaaaaaaampaaaaaaaaaaaaaanaaaaaaaaaaaaaaanbaaaaaaaaaaaaaancaaaaaaaaaaaaaandaaaaaaaaaaaaaaneaaaaaaaaaaaaaanfaaaaaaaaaaaaaangaaaaaaaaaaaaaanhaaaaaaaaaaaaaaniaaaaaaaaaaaaaanjaaaaaaaaaaaaaankaaaaaaaaaaaaaanlaaaaaaaaaaaaaanmaaaaaaaaaaaaaannaaaaaaaaaaaaaanoaaaaaaaaaaaaaanpaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaocaaaaaaaaaaaaaaodaaaaaaaaaaaaaaoeaaaaaaaaaaaaaaofaaaaaaaaaaaaaaogaaaaaaaaaaaaaaohaaaaaaaaaaaaaaoiaaaaaaaaaaaaaaojaaaaaaaaaaaaaaokaaaaaaaaaaaaaaolaaaaaaaaaaaaaaomaaaaaaaaaaaaaaonaaaaaaaaaaaaaaooaaaaaaaaaaaaaaopaaaaaaaaaaaaaapaaaaaaaaaaaaaaapbaaaaaaaaaaaaaapcaaaaaaaaaaaaaapdaaaaaaaaaaaaaapeaaaaaaaaaaaaaapfaaaaaaaaaaaaaapgaaaaaaaaaaaaaaphaaaaaaaaaaaaaapiaaaaaaaaaaaaaapjaaaaaaaaaaaaaapkaaaaaaaaaaaaaaplaaaaaaaaaaaaaapmaaaaaaaaaaaaaapnaaaaaaaaaaaaaapoaaaaaaaaaaaaaappaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachlgaaaaaaaaaaaaaaegdbbaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaegmcaaaaaabgaaaaaaaaaaaaaaaaegadaaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaakaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaabaaaaaaaaaaaaaacbaaaaaaaaaaaaaaebaaaaaaaaaaaaaagbaaaaaaaaaaaaaaibaaaaaaaaaaaaaakbaaaaaaaaaaaaaambaaaaaaaaaaaaaaobaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdaaaaaaaaaaaaapplaaaaaaaaaaaaappdegedaaaaaaaadaaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachngaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachjgaaaaaaaaaaaaaaegfeaaaaaabgbaaaaaaaaaaaaaaachahaaaaaaaaaaaaaaegepaaaaaaaaaaaaaaapaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaabaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabcaaaaaaaaaaaaaabdaaaaaaaaaaaaaabeaaaaaaaaaaaaaabfaaaaaaaaaaaaaabgaaaaaaaaaaaaaabhaaaaaaaaaaaaaabiaaaaaaaaaaaaaabjaaaaaaaaaaaaaabkaaaaaaaaaaaaaablaaaaaaaaaaaaaabmaaaaaaaaaaaaaabnaaaaaaaaaaaaaaboaaaaaaaaaaaaaacaaaaaaaaaaaaaaacbaaaaaaaaaaaaaaccaaaaaaaaaaaaaacdaaaaaaaaaaaaaaceaaaaaaaaaaaaaacfaaaaaaaaaaaaaacgaaaaaaaaaaaaaachaaaaaaaaaaaaaaciaaaaaaaaaaaaaacjaaaaaaaaaaaaaackaaaaaaaaaaaaaaclaaaaaaaaaaaaaacmaaaaaaaaaaaaaacnaaaaaaaaaaaaaacoaaaaaaaaaaaaaadaaaaaaaaaaaaaaadbaaaaaaaaaaaaaadcaaaaaaaaaaaaaaddaaaaaaaaaaaaaadeaaaaaaaaaaaaaadfaaaaaaaaaaaaaadgaaaaaaaaaaaaaadhaaaaaaaaaaaaaadiaaaaaaaaaaaaaadjaaaaaaaaaaaaaadkaaaaaaaaaaaaaadlaaaaaaaaaaaaaadmaaaaaaaaaaaaaadnaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaebaaaaaaaaaaaaaaecaaaaaaaaaaaaaaedaaaaaaaaaaaaaaeeaaaaaaaaaaaaaaefaaaaaaaaaaaaaaegaaaaaaaaaaaaaaehaaaaaaaaaaaaaaeiaaaaaaaaaaaaaaejaaaaaaaaaaaaaaekaaaaaaaaaaaaaaelaaaaaaaaaaaaaaemaaaaaaaaaaaaaaenaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafaaaaaaaaaaaaaaafbaaaaaaaaaaaaaafcaaaaaaaaaaaaaafdaaaaaaaaaaaaaafeaaaaaaaaaaaaaaffaaaaaaaaaaaaaafgaaaaaaaaaaaaaafhaaaaaaaaaaaaaafiaaaaaaaaaaaaaafjaaaaaaaaaaaaaafkaaaaaaaaaaaaaaflaaaaaaaaaaaaaafmaaaaaaaaaaaaaafnaaaaaaaaaaaaaafoaaaaaaaaaaaaaagaaaaaaaaaaaaaaagbaaaaaaaaaaaaaagcaaaaaaaaaaaaaagdaaaaaaaaaaaaaageaaaaaaaaaaaaaagfaaaaaaaaaaaaaaggaaaaaaaaaaaaaaghaaaaaaaaaaaaaagiaaaaaaaaaaaaaagjaaaaaaaaaaaaaagkaaaaaaaaaaaaaaglaaaaaaaaaaaaaagmaaaaaaaaaaaaaagnaaaaaaaaaaaaaagoaaaaaaaaaaaaaahaaaaaaaaaaaaaaahbaaaaaaaaaaaaaahcaaaaaaaaaaaaaahdaaaaaaaaaaaaaaheaaaaaaaaaaaaaahfaaaaaaaaaaaaaahgaaaaaaaaaaaaaahhaaaaaaaaaaaaaahiaaaaaaaaaaaaaahjaaaaaaaaaaaaaahkaaaaaaaaaaaaaahlaaaaaaaaaaaaaahmaaaaaaaaaaaaaahnaaaaaaaaaaaaaahoaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaibaaaaaaaaaaaaaaicaaaaaaaaaaaaaaidaaaaaaaaaaaaaaieaaaaaaaaaaaaaaifaaaaaaaaaaaaaaigaaaaaaaaaaaaaaihaaaaaaaaaaaaaaiiaaaaaaaaaaaaaaijaaaaaaaaaaaaaaikaaaaaaaaaaaaaailaaaaaaaaaaaaaaimaaaaaaaaaaaaaainaaaaaaaaaaaaaaioaaaaaaaaaaaaaajaaaaaaaaaaaaaaajbaaaaaaaaaaaaaajcaaaaaaaaaaaaaajdaaaaaaaaaaaaaajeaaaaaaaaaaaaaajfaaaaaaaaaaaaaajgaaaaaaaaaaaaaajhaaaaaaaaaaaaaajiaaaaaaaaaaaaaajjaaaaaaaaaaaaaajkaaaaaaaaaaaaaajlaaaaaaaaaaaaaajmaaaaaaaaaaaaaajnaaaaaaaaaaaaaajoaaaaaaaaaaaaaakaaaaaaaaaaaaaaakbaaaaaaaaaaaaaakcaaaaaaaaaaaaaakdaaaaaaaaaaaaaakeaaaaaaaaaaaaaakfaaaaaaaaaaaaaakgaaaaaaaaaaaaaakhaaaaaaaaaaaaaakiaaaaaaaaaaaaaakjaaaaaaaaaaaaaakkaaaaaaaaaaaaaaklaaaaaaaaaaaaaakmaaaaaaaaaaaaaaknaaaaaaaaaaaaaakoaaaaaaaaaaaaaalaaaaaaaaaaaaaaalbaaaaaaaaaaaaaalcaaaaaaaaaaaaaaldaaaaaaaaaaaaaaleaaaaaaaaaaaaaalfaaaaaaaaaaaaaalgaaaaaaaaaaaaaalhaaaaaaaaaaaaaaliaaaaaaaaaaaaaaljaaaaaaaaaaaaaalkaaaaaaaaaaaaaallaaaaaaaaaaaaaalmaaaaaaaaaaaaaalnaaaaaaaaaaaaaaloaaaaaaaaaaaaaamaaaaaaaaaaaaaaambaaaaaaaaaaaaaamcaaaaaaaaaaaaaamdaaaaaaaaaaaaaameaaaaaaaaaaaaaamfaaaaaaaaaaaaaamgaaaaaaaaaaaaaamhaaaaaaaaaaaaaamiaaaaaaaaaaaaaamjaaaaaaaaaaaaaamkaaaaaaaaaaaaaamlaaaaaaaaaaaaaammaaaaaaaaaaaaaamnaaaaaaaaaaaaaamoaaaaaaaaaaaaaanaaaaaaaaaaaaaaanbaaaaaaaaaaaaaancaaaaaaaaaaaaaandaaaaaaaaaaaaaaneaaaaaaaaaaaaaanfaaaaaaaaaaaaaangaaaaaaaaaaaaaanhaaaaaaaaaaaaaaniaaaaaaaaaaaaaanjaaaaaaaaaaaaaankaaaaaaaaaaaaaanlaaaaaaaaaaaaaanmaaaaaaaaaaaaaannaaaaaaaaaaaaaanoaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaobaaaaaaaaaaaaaaocaaaaaaaaaaaaaaodaaaaaaaaaaaaaaoeaaaaaaaaaaaaaaofaaaaaaaaaaaaaaogaaaaaaaaaaaaaaohaaaaaaaaaaaaaaoiaaaaaaaaaaaaaaojaaaaaaaaaaaaaaokaaaaaaaaaaaaaaolaaaaaaaaaaaaaaomaaaaaaaaaaaaaaonaaaaaaaaaaaaaaooaaaaaaaaaaaaaapaaaaaaaaaaaaaaapbaaaaaaaaaaaaaapcaaaaaaaaaaaaaapdaaaaaaaaaaaaaapeaaaaaaaaaaaaaapfaaaaaaaaaaaaaapgaaaaaaaaaaaaaaphaaaaaaaaaaaaaapiaaaaaaaaaaaaaapjaaaaaaaaaaaaaapkaaaaaaaaaaaaaaplaaaaaaaaaaaaaapmaaaaaaaaaaaaaapnaaaaaaaaaaaaaapoaaaaaaaaaaaaaaegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachchaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagcaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbaaaaaaaaaaaaaagcaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaapaaaaaaaaaaaaaachgdaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachmgaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachehaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachjgaaaaaaaaaaaaaaegmfaaaaaabaaaaaaaaaaaaaaachfhaaaaaaaaaaaaaachbhaaaaaaaaaaaaaaegkfaaaaaaahcaaaaaaaaaaaaaaachddaaaaaaaaaaaaaachghaaaaaaaaaaaaaachaaaaaaaaaaaaaaaagcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaeaaaaaaaaaaaaddaeaaaaaaaaaaaaappdaaaaaaaaaaaaaaaeaaaaaaaaaaaaiaaeaaaaaaaaaaaaabaeaaaaaaaaaaaaebaeaaaaaaaaaaaaibaeaaaaaaaaaaaambaeaaaaaaaaaaaaacaeaaaaaaaaaaaaccaeaaaaaaaaaaaaecaeaaaaaaaaaaaagcaeaaaaaaaaaaaaicaeaaaaaaaaaaaakcaeaaaaaaaaaaaamcaeaaaaaaaaaaaaocaeaaaaaaaaaaaaadaeaaaaaaaaaaaabdaeaaaaaaaaaaaacdaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaebaaaaaaaaaaaaaagcaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaabaaaaaaaaaaaaaapaaaaaaaaaaaaaaaapaaaaaaaaaaaaaachgdaaaaaaaaaaaaaaegmdaaaaaacaaaaaaaaaaaaaaachdhaaaaaaaaaaaaaachhhaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegmcaaaaaaeediimjmngadpfenpdaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachaeaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachnhaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachphaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachaiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachfgaaaaaaaaaaaaaachbiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachigaaaaaaaaaaaaaachciaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaacheiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachfiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachmiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkiaaaaaaaaaaaaaachniaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachpiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachhiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachbjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachajaaaaaaaaaaaaaachcjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachoiaaaaaaaaaaaaaachdjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachejaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachgjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachhjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfjaaaaaaaaaaaaaachijaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachljaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkjaaaaaaaaaaaaaachmjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachnjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachbjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachojaaaaaaaaaaaaaachpjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachakaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachliaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbkaaaaaaaaaaaaaachckaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachjiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachdkaaaaaaaaaaaaaachekaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachfkaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachhjaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachhkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgkaaaaaaaaaaaaaachikaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachgiaaaaaaaaaaaaaachhiaaaaaaaaaaaaaachjjaaaaaaaaaaaaaachjkaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachkkaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachiiaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachmkaaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachnkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachokaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjkaaaaaaaaaaaaaachpkaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachlkaaaaaaaaaaaaaachalaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachclaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachdlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachklaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachilaaaaaaaaaaaaaachllaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachnlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachflaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachplaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaacholaaaaaaaaaaaaaachamaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmlaaaaaaaaaaaaaachbmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachcmaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachemaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachfmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachdmaaaaaaaaaaaaaachgmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachjmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachimaaaaaaaaaaaaaachkmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachlmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachplaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachmmaaaaaaaaaaaaaachnmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachomaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachjlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachpmaaaaaaaaaaaaaachanaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachhlaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachbnaaaaaaaaaaaaaachcnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachdnaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfmaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachfnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachenaaaaaaaaaaaaaachgnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachelaaaaaaaaaaaaaachflaaaaaaaaaaaaaachhmaaaaaaaaaaaaaachhnaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachinaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachglaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachknaaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachlnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachmnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachhnaaaaaaaaaaaaaachnnaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachjnaaaaaaaaaaaaaachonaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachldaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachaoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachboaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachioaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgoaaaaaaaaaaaaaachjoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachloaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachdoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachnoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachmoaaaaaaaaaaaaaachooaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachkoaaaaaaaaaaaaaachpoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachapaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachdpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbpaaaaaaaaaaaaaachepaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachhpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachgpaaaaaaaaaaaaaachipaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachjpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachnoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachkpaaaaaaaaaaaaaachlpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachmpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachhoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachnpaaaaaaaaaaaaaachopaaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachfoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachppaaaaaaaaaaaaaachaabaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachbabaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachdpaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachdabaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachcabaaaaaaaaaaaaacheabaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachcoaaaaaaaaaaaaaachdoaaaaaaaaaaaaaachfpaaaaaaaaaaaaaachfabaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachgabaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaacheoaaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachiabaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachjabaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachkabaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachfabaaaaaaaaaaaaachlabaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachhabaaaaaaaaaaaaachmabaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegmdaaaaaaeaaaaaaaaaaaaaaachdiaaaaaaaaaaaaaachblaaaaaaaaaaaaaachpnaaaaaaaaaaaaaachnabaaaaaaaaaaaaachhaaaaaaaaaaaaaaaeblhaaaaaaaaaaaaaaegmcaaaaaaadaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachjbaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachkbaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachlbaaaaaaaaaaaaaachmbaaaaaaaaaaaaaachnbaaaaaaaaaaaaaaegecaaaaaabaaaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaecaaaaaachcbaaaaaaaaaaaaaachhcaaaaaaaaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachbbbaaaaaaaaaaaaachcbbaaaaaaaaaaaaaeggaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachebbaaaaaaaaaaaaachhgaaaaaaaaaaaaaachdbbaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlcaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachmcaaaaaaaaaaaaaachncaaaaaaaaaaaaaachocaaaaaaaaaaaaaachpcaaaaaaaaaaaaaachadaaaaaaaaaaaaaachbdaaaaaaaaaaaaaachddaaaaaaaaaaaaaachkgaaaaaaaaaaaaaachfdaaaaaaaaaaaaaachlgaaaaaaaaaaaaaachngaaaaaaaaaaaaaachpgaaaaaaaaaaaaaachahaaaaaaaaaaaaaachchaaaaaaaaaaaaaachdhaaaaaaaaaaaaaachehaaaaaaaaaaaaaachfhaaaaaaaaaaaaaachghaaaaaaaaaaaaaachhhaaaaaaaaaaaaaachjhaaaaaaaaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachlhaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachhbbaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachibbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachcbbaaaaaaaaaaaaachjbbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachfbbaaaaaaaaaaaaachkbbaaaaaaaaaaaaachdbbaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegfeaaaaaacgbaaaaaaaaaaaaaaachlbbaaaaaaaaaaaaachcdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachabbaaaaaaaaaaaaachmbbaaaaaaaaaaaaachpabaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegceaaaaaabaaaaaaaaaaaaaaachnbbaaaaaaaaaaaaachdbbaaaaaaaaaaaaaegleaaaaaaegbaaaaaaaaaaaaaaachobbaaaaaaaaaaaaachfaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegaeaaaaaabaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaachlaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaaegppppppppbaaaaaaaaaaaaaaachacbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachoaaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpaaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachabaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachnaaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachhcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfcbaaaaaaaaaaaaachicbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaacheaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachdbaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachkcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachebaaaaaaaaaaaaaachjeaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachjeaaaaaaaaaaaaaachccbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachebaaaaaaaaaaaaaachmcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachlcbaaaaaaaaaaaaachncbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachjcbaaaaaaaaaaaaachocbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachpcbaaaaaaaaaaaaachnbaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachbbaaaaaaaaaaaaaachgbaaaaaaaaaaaaaachhbaaaaaaaaaaaaaachibaaaaaaaaaaaaaachobaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachafaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachafaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachbdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachpeaaaaaaaaaaaaaachcdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachadbaaaaaaaaaaaaachddbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachacaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachacaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachdbaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachabaaaaaaaaaaaaaachgdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachfdbaaaaaaaaaaaaachhdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachfbaaaaaaaaaaaaaachidbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaachbcaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachbcaaaaaaaaaaaaaachmcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachjdbaaaaaaaaaaaaachkdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegfaaaaaaabaaaaaaaaaaaaaaachldbaaaaaaaaaaaaachaaaaaaaaaaaaaaaafaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkaaaaaaaaaaaaaaachgcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachmdbaaaaaaaaaaaaachndbaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaachecaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachecaaaaaaaaaaaaaachecbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaachodbaaaaaaaaaaaaachpdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegeaaaaaaabacaaaaaaaaaaaaaaachaebaaaaaaaaaaaaachhcaaaaaaaaaaaaaachaaaaaaaaaaaaaaaaeaaaaaaachpbaaaaaaaaaaaaaachccaaaaaaaaaaaaaachdcaaaaaaaaaaaaaachfcaaaaaaaaaaaaaachgcaaaaaaaaaaaaaachicaaaaaaaaaaaaaachcgaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachcdbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachcgaaaaaaaaaaaaaachcebaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegcaaaaaaabacaaaaaaaaaaaaaaachbebaaaaaaaaaaaaachdebaaaaaaaaaaaaachaaaaaaaaaaaaaaaacaaaaaaaegndaaaaaaeaaaaaaaaaaaaaaachbcbaaaaaaaaaaaaachccbaaaaaaaaaaaaachedbaaaaaaaaaaaaacheebaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegjeaaaaaacgcaaaaaaaaaaaaaaachfebaaaaaaaaaaaaachhgaaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachmhaaaaaaaaaaaaaachdcbaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegndaaaaaacaaaaaaaaaaaaaaachlhaaaaaaaaaaaaaachhebaaaaaaaaaaaaachohaaaaaaaaaaaaaaegedaaaaaaaadaaaaaaaaaaaaaaachhgaaaaaaaaaaaaaachjhaaaaaaaaaaaaaachiebaaaaaaaaaaaaachaaaaaaaaaaaaaaaaegdaaaaaaabacaaaaaaaaaaaaaaachkcaaaaaaaaaaaaaachjebaaaaaaaaaaaaachaaaaaaaaaaaaaaaadaaaaaaaegbaaaaaaabacaaaaaaaaaaaaaaacheebaaaaaaaaaaaaachkebaaaaaaaaaaaaachaaaaaaaaaaaaaaaabaaaaaaaegheaaaaaacgcaaaaaaaaaaaaaaachgebaaaaaaaaaaaaachlebaaaaaaaaaaaaachfaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegbaaaaaaaaacaaaaaaaaaaaaaaachpbbaaaaaaaaaaaaachmebaaaaaaaaaaaaachfaaaaaaaaaaaaaaabaaaaaaachnebaaaaaaaaaaaaaebdaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaegndaaaaaadaaaaaaaaaaaaaaachmaaaaaaaaaaaaaaachcbaaaaaaaaaaaaaachfdaaaaaaaaaaaaaaeggabaaaaaaaaaaaaacabaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaahaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaajaaaaaaaaaaaaaaakaaaaaaaaaaaaaaalaaaaaaaaaaaaaaamaaaaaaaaaaaaaaanaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaapaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabbaaaaaaaaaaaaaacbaaaaaaaaaaaaaadbaaaaaaaaaaaaaaebaaaaaaaaaaaaaafbaaaaaaaaaaaaaagbaaaaaaaaaaaaaahbaaaaaaaaaaaaaaibaaaaaaaaaaaaaajbaaaaaaaaaaaaaakbaaaaaaaaaaaaaalbaaaaaaaaaaaaaambaaaaaaaaaaaaaanbaaaaaaaaaaaaaaobaaaaaaaaaaaaaapbaaaaaaaaaaaaaaacaaaaaaaaaaaaaabcaaaaaaaaaaaaaaccaaaaaaaaaaaaaadcaaaaaaaaaaaaaaecaaaaaaaaaaaaaafcaaaaaaaaaaaaaagcaaaaaaaaaaaaaahcaaaaaaaaaaaaaaicaaaaaaaaaaaaaajcaaaaaaaaaaaaaakcaaaaaaaaaaaaaalcaaaaaaaaaaaaaamcaaaaaaaaaaaaaancaaaaaaaaaaaaaaocaaaaaaaaaaaaaapcaaaaaaaaaaaaaaadaaaaaaaaaaaaaabdaaaaaaaaaaaaaacdaaaaaaaaaaaaaaddaaaaaaaaaaaaaaedaaaaaaaaaaaaaafdaaaaaaaaaaaaaagdaaaaaaaaaaaaaahdaaaaaaaaaaaaaaidaaaaaaaaaaaaaajdaaaaaaaaaaaaaakdaaaaaaaaaaaaaaldaaaaaaaaaaaaaamdaaaaaaaaaaaaaandaaaaaaaaaaaaaaodaaaaaaaaaaaaaapdaaaaaaaaaaaaaaaeaaaaaaaaaaaaaabeaaaaaaaaaaaaaaceaaaaaaaaaaaaaadeaaaaaaaaaaaaaaeeaaaaaaaaaaaaaafeaaaaaaaaaaaaaageaaaaaaaaaaaaaaheaaaaaaaaaaaaaaieaaaaaaaaaaaaaajeaaaaaaaaaaaaaakeaaaaaaaaaaaaaaleaaaaaaaaaaaaaameaaaaaaaaaaaaaaneaaaaaaaaaaaaaaoeaaaaaaaaaaaaaapeaaaaaaaaaaaaaaafaaaaaaaaaaaaaabfaaaaaaaaaaaaaacfaaaaaaaaaaaaaadfaaaaaaaaaaaaaaefaaaaaaaaaaaaaaffaaaaaaaaaaaaaagfaaaaaaaaaaaaaahfaaaaaaaaaaaaaaifaaaaaaaaaaaaaajfaaaaaaaaaaaaaakfaaaaaaaaaaaaaalfaaaaaaaaaaaaaamfaaaaaaaaaaaaaanfaaaaaaaaaaaaaaofaaaaaaaaaaaaaapfaaaaaaaaaaaaaaagaaaaaaaaaaaaaabgaaaaaaaaaaaaaacgaaaaaaaaaaaaaadgaaaaaaaaaaaaaaegaaaaaaaaaaaaaafgaaaaaaaaaaaaaaggaaaaaaaaaaaaaahgaaaaaaaaaaaaaaigaaaaaaaaaaaaaajgaaaaaaaaaaaaaakgaaaaaaaaaaaaaalgaaaaaaaaaaaaaamgaaaaaaaaaaaaaangaaaaaaaaaaaaaaogaaaaaaaaaaaaaapgaaaaaaaaaaaaaaahaaaaaaaaaaaaaabhaaaaaaaaaaaaaachaaaaaaaaaaaaaadhaaaaaaaaaaaaaaehaaaaaaaaaaaaaafhaaaaaaaaaaaaaaghaaaaaaaaaaaaaahhaaaaaaaaaaaaaaihaaaaaaaaaaaaaajhaaaaaaaaaaaaaakhaaaaaaaaaaaaaalhaaaaaaaaaaaaaamhaaaaaaaaaaaaaanhaaaaaaaaaaaaaaohaaaaaaaaaaaaaaphaaaaaaaaaaaaaaaiaaaaaaaaaaaaaabiaaaaaaaaaaaaaaciaaaaaaaaaaaaaadiaaaaaaaaaaaaaaeiaaaaaaaaaaaaaafiaaaaaaaaaaaaaagiaaaaaaaaaaaaaahiaaaaaaaaaaaaaaiiaaaaaaaaaaaaaajiaaaaaaaaaaaaaakiaaaaaaaaaaaaaaliaaaaaaaaaaaaaamiaaaaaaaaaaaaaaniaaaaaaaaaaaaaaoiaaaaaaaaaaaaaapiaaaaaaaaaaaaaaajaaaaaaaaaaaaaabjaaaaaaaaaaaaaacjaaaaaaaaaaaaaadjaaaaaaaaaaaaaaejaaaaaaaaaaaaaafjaaaaaaaaaaaaaagjaaaaaaaaaaaaaahjaaaaaaaaaaaaaaijaaaaaaaaaaaaaajjaaaaaaaaaaaaaakjaaaaaaaaaaaaaaljaaaaaaaaaaaaaamjaaaaaaaaaaaaaanjaaaaaaaaaaaaaaojaaaaaaaaaaaaaapjaaaaaaaaaaaaaaakaaaaaaaaaaaaaabkaaaaaaaaaaaaaackaaaaaaaaaaaaaadkaaaaaaaaaaaaaaekaaaaaaaaaaaaaafkaaaaaaaaaaaaaagkaaaaaaaaaaaaaahkaaaaaaaaaaaaaaikaaaaaaaaaaaaaajkaaaaaaaaaaaaaakkaaaaaaaaaaaaaalkaaaaaaaaaaaaaamkaaaaaaaaaaaaaankaaaaaaaaaaaaaaokaaaaaaaaaaaaaapkaaaaaaaaaaaaaaalaaaaaaaaaaaaaablaaaaaaaaaaaaaaclaaaaaaaaaaaaaadlaaaaaaaaaaaaaaelaaaaaaaaaaaaaaflaaaaaaaaaaaaaaglaaaaaaaaaaaaaahlaaaaaaaaaaaaaailaaaaaaaaaaaaaajlaaaaaaaaaaaaaaklaaaaaaaaaaaaaallaaaaaaaaaaaaaamlaaaaaaaaaaaaaanlaaaaaaaaaaaaaaolaaaaaaaaaaaaaaplaaaaaaaaaaaaaaamaaaaaaaaaaaaaabmaaaaaaaaaaaaaacmaaaaaaaaaaaaaadmaaaaaaaaaaaaaaemaaaaaaaaaaaaaafmaaaaaaaaaaaaaagmaaaaaaaaaaaaaahmaaaaaaaaaaaaaaimaaaaaaaaaaaaaajmaaaaaaaaaaaaaakmaaaaaaaaaaaaaalmaaaaaaaaaaaaaammaaaaaaaaaaaaaanmaaaaaaaaaaaaaaomaaaaaaaaaaaaaapmaaaaaaaaaaaaaaanaaaaaaaaaaaaaabnaaaaaaaaaaaaaacnaaaaaaaaaaaaaadnaaaaaaaaaaaaaaenaaaaaaaaaaaaaafnaaaaaaaaaaaaaagnaaaaaaaaaaaaaahnaaaaaaaaaaaaaainaaaaaaaaaaaaaajnaaaaaaaaaaaaaaknaaaaaaaaaaaaaalnaaaaaaaaaaaaaamnaaaaaaaaaaaaaannaaaaaaaaaaaaaaonaaaaaaaaaaaaaapnaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaboaaaaaaaaaaaaaacoaaaaaaaaaaaaaadoaaaaaaaaaaaaaaeoaaaaaaaaaaaaaafoaaaaaaaaaaaaaagoaaaaaaaaaaaaaahoaaaaaaaaaaaaaaioaaaaaaaaaaaaaajoaaaaaaaaaaaaaakoaaaaaaaaaaaaaaloaaaaaaaaaaaaaamoaaaaaaaaaaaaaanoaaaaaaaaaaaaaaooaaaaaaaaaaaaaapoaaaaaaaaaaaaaaapaaaaaaaaaaaaaabpaaaaaaaaaaaaaacpaaaaaaaaaaaaaadpaaaaaaaaaaaaaaepaaaaaaaaaaaaaafpaaaaaaaaaaaaaagpaaaaaaaaaaaaaahpaaaaaaaaaaaaaaipaaaaaaaaaaaaaajpaaaaaaaaaaaaaakpaaaaaaaaaaaaaalpaaaaaaaaaaaaaampaaaaaaaaaaaaaanpaaaaaaaaaaaaaaopaaaaaaaaaaaaaappaaaaaaaaaaaaaaaabaaaaaaaaaaaaababaaaaaaaaaaaaa
Expression names:
['input_0', 'input_1', 'input_2', 'input_3', 'input_4', 'output_0', 'output_1', 'output_2', 'p_global']

Thanks Franek!

Could you verify that this minimal example fails? extract_parametric_issue.py · GitHub

If so, I will send that to the casadi devs.

Yes I can confirm that this fails.
Thanks for your help!

To add some information, this is the build command which I use for casadi:

mkdir -p build && cd build && \
    cmake .. \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DWITH_PYTHON=ON -DWITH_PYTHON3=ON \
      -DWITH_BUILD_METIS=ON \
      -DWITH_BUILD_MUMPS=ON \
      -DWITH_BUILD_IPOPT=ON \
      -DWITH_IPOPT=ON  \
      -DPYTHON_EXECUTABLE=${VIRTUAL_ENV}/bin/python && \
    cmake --build .

Feel free to tag me in the issue, so I can provide more details if needed.

1 Like

Casadi issue is opened here: `extract_parametric` returns 5 instead of 3 outputs · Issue #4275 · casadi/casadi · GitHub

2 Likes

Joris answered on the Github issue: `extract_parametric` returns 5 instead of 3 outputs · Issue #4275 · casadi/casadi · GitHub
Compiling CasADi with default Swig seems to be broken unfortunately.

I just tested the 2cnd option they mentioned (using the source zip from https://github.com/casadi/casadi/releases/download/3.7.2/casadi-source-v3.7.2.zip).
And indeed, this fixes the problem. So as long as the issue in Swig is not fixed, users of acados (if they need to compile casadi from source, which is probably very rare) should use the source zip.

@tkoepff the casadi authors mentioned that we could also try their binaries. Do you know if pinocchio with casadi will work in that case?

Anyways, thanks for your quick help, Jonathan! - Now I can use p_global again :slight_smile:

1 Like