About us Roles for you Get in touch

     We are an agile, creative and innovative company, developing cutting edge power electronics solutions.
     We are particularly proud of developing green and efficient technology, maximising capacities while at the same time minimising weight and costs to meet our energy challenges of the future.

we work closely with

automotive

grant funding

 

industry aerospace maritime

healthcare

Our timeline

  • 2011
    • September : Dr. Pete James and Mike Evans found Lyra Electronics
  • 2014
    • January : Lyra recruits its first employee and wins its first Innovative UK government research grant to develop active battery balancing for lithium-ion cells
    • June : Lyra establishes a relationship to support high precision electronics for medical test equipment
    • October : Lyra starts a project with Chargemaster PLC to design a new 50kW rapid charger for Electric Vehicles
  • 2015
    • April : Lyra secures a project with Bladon Jets to design 12kW and 3kW power supplies for a gasturbine generator
    • September : Lyra relocates to its current premises on Warwick University Wellesbourne campus
  • 2018
    • April : Lyra starts £0.5m commercial project to design and build lithium-ion battery cell tester with bidirectional power control and return-to-grid for a large American company
    • August : Lyra secures an highly innovative £80k commercial project to design and build motor drive and DC-DC converter for a very high altitude aircraft
  • 2019
    • January : Lyra grows to ten employees
    • March : Lyra establishes royalty licensing for its intellectual property
    • October : Lyra secures a £1.9m grant funded project ESCAPE to develop 100kW - 500kW ultra rapid vehicle charging technology
    • December : Lyra secures £1.3m grant funded project CompETe to develop an Electronic Drive Unit for Jaguar Land Rover and a 150kW - 350kW motor drive inverter product suite for commercial sale
  • 2020
    • January : Lyra takes on board Matt Taylor as Chief Operating Officer
    • March : Lyra starts £1m commercial project to design and build DC-DCs and OnBoard Chargers for large Japanese manufacturer
    • June : Lyra takes on board Malcolm Smith as Engineering Manager
    • August : Lyra starts £2.4m grant funded project project @FutureBEV to develop an integrated motor drive inverter powerstage for BMW and an integrated motor drive inverter
    • September : Lyra secures a £4.1m grant funded project HiVibes to develop integrated DC-DC and On Board Charger for Jaguar Landrover and standalone DC-DC and On Board Charger for Lyra sales
  • 2021
    • January : Lyra grows to thirty employees

Our leaders

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*,,.. ..,.,*(#(#%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##*,*/,,*...... ... ....,*////*/#((/(%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%((#((#(. .,... .... ... ..,. ,*,*,,,,,*(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(,...,. ...... ....... . .. ...... .. ..*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*, .. ,,..,,.... .. . ... ... . .. .../#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(*,. . .. ..... ... ......... ... .. ........,,,*/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#**,,,. .. ...... .. . .. .. . ......*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(*,,*,,.. ........ .. . . ....**./%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####(,,,,*,,,,..... .. . . . .... .......*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####(/****,,.......... .. . . . . . .. . ..... ..,(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###//(/*.....,... ... ........... ... .................. .......... .. .*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#####(*,.............................. ...................,,,,,,.......,............ .,/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######*,,,,,........,,,,,,*****,,,,,,,...,,....,,,..,.,,,,*,**********,,*****,,,**,,,,,.... . .,/(##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####(*,,,,..,,..,,*****////////**,***,,,*,,,..,,,,,,,,****///////////////////**//*******,,,,.......... ...,.,(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%###(,,,,..,. ..*/////(((((/(///*//********,,*,********//////((((((((((((((((((///////////****,...... ..... .......*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####(*,,...,...,/((((((((((((((((////*****/****/////////(((((((((((((((((((((((((((((////////*/**,,,......... ......../#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%###/*,......,*(((((((((((((((((((((/////**///////////((((((((((((((((#(((((((((((((((((((///////**,,,....... ........,(##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%####(*,....,,*((#######(((((((((((((((((((/////(((((((((((((((((((((###(###(((((((((((((((((((/////***,,,..... ..........,(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%##/,,....,/(########((((((((((((((((((((((((((((((((((((((((((##(((((#####(#(((((((((((((((/((/////***,,,,,.. .........../#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%##(,,,,,,,/(#########((((((((((((((((((((((((((((((((((((((((((((#((((########((((((((((((((/(//////*****,*,,... ... ......*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######*,,**,,*(########((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//////////*****,,... ......,/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####*,*****/(########((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////////******,.. . . ...*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####(,***,*/(########((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////////////**,,,.... . ..,(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####/******/(########((#((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/(((//////////*****,,,... . .../#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####(****,*/(##########((((((((#((((((((((((((((((((((((((((((((#((((((((((((((((((((((((/((((/////////////*****,,... .. ....,/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##(******/(##########((###((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///////////////****,,,.... . ...*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####/,*****(#############(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((////////////////*****,,....... ..,(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####/*****/(#%##########((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//////////////////****,,..... . . ...*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####/****/(##%#########((((((((((///////////(((((((((((((((((((/(/(((((//((((/////////////////////////////****,,,.. . . .../(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%####(**//(##%%######(((((//////////////////////(((//(((//(/(///////////////////////////////////////////////****,,.. . .. . .*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%##/***/#%%%%###(/*********,,,,,,,*,*******////////////////////////**************,*************//////////////***,.. . ... ..*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###////(%%%%#(//***,,,,,.............,,,,********////////////*******,,,,.............,,,,,,***,,*****///*********,,. . .. ..*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####(///(%%#%#((////**,,,..............,,,,,********/*************,*,,,,,.......... ....,,,,,,,,,*,,,**************,. ....*##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####///#%%%####((/////*******,,,,,,,,,,,,,,,,*****************,,,,,,,,,,,,,...,,,,,,,,,,,***********,,**************,. ... .. ...*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####((/(%%%%##(##(((////*********,,,,,,,,,,,,,,***************,,,,,,,,,,..,,,,,,,*************************************. ... . ..(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####(/#%%%%%#####((///****,......... ......,,,,***///////*****,,,,....................,******************************,.... .. ..,(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%######(/(#%%%%###(##((/*,,...... ..............,,***///(((////*****,,,,.............. . .......,,**,**,****************,.... . ..*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%####//(%%#####((((/,,,..****,.. . ...,.. .,,,,**///(((((////*****,,,,,.......,*,.. . ..........,,,,,,***************,..... ... ..*(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######(/(#%%###(((//**,,**,,,,**.....,..,,,,,,,,***//((((((((///*******,***,,...,,**........,,,... ....,***********//*****,..,..... .,*/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#(//((#%%###((///////(//****,,,*,,,,,,,,,******//((((((((/////*********,,,,,,,,,,,,****,,,,,,,,,,,,,,,****//////*******,.........,****/##%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%#%%%%%%######//((#%%%##((///(((((///****,,,,,******////////((((((((//////**************,,,,,*,,,,,,,**,,,,,,*******////////*******,..,....,,**,..,*#%%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%%%%%%%%%%##%###%##(/*(%%%%##((((((((///////******//////////////((((((((/////********///////********,,***************/*//////////*******,.....,**,,,..,,,(%%%%%%%%%%%%%%%%%%%%%%%%%%%### %%%%%%%%%%%%%%%%%%%%%%%%%%##%#######//(%%%####((((//(((/////////////////////////(((((((//////*******////////////////**/***********//////////////*********,...,**,**,,,,,*#%%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%%%%%%%%%%######%###//(%%%####((((((((((((((((((((/////////////((((((((((/////*****////////////////////////////////////////////*********,.,..,******,,,*/#%%#%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%%%%%###%%##########//(%%%%########(((((((((((((((///////////(((/(/((/((///////*****/////////////(/(/((////((///////////////////********,,..,,*******,,*(#%%%%%%%%%%%%%%%%%%%%%%%%%##### %%%%%%%%%%%%%%%%%%%%%###############(/#%%%########((((((((((((((///////////((((((((((//(////////*******/////////((((/((((((((((((//////////////*********,...,,,,********(##%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%%%%%#%%############(/#%%%%######(((((((((((((((///////*/((#(((//////(((////////********/////////((((((((((((///////////////*/**********,,.,...,,,******(%#%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%###################(/#%%%%%####((((((((((((((///////**/(((((((///////////*****************/////////((///////////////////////****,,*****,,.,,,,,,,**//**###%%%%%%%%%%%%%%%%%%%%%%%%%#### #%%%%%%%%%%%%%%%%###################(/#%%%%%####(((((//(///////////****(/*,. .,//*********,,,....,,****,****////////////////////////*///////************,.,***,,,***//*(%%%%%%%%%%%%%%%%%%%%%%%%%%%%#### %%%%%%%%%%%%%%%%%#######%############(#%%%%%###(((((/////////////*****,**,,... **,,,,,,.. ..,,,*,,,*****/////////////////////*//////***************,*****,,**//**#%#%%%%%%%%%%%%%%%%%%%%%%%%%##### #%%%%%%%%%%%%%%%#######################%%%%%###((((//////////*******,,*,,,,,...,,,**,,,,,,,........,,,,,********/////////////////*****/****/*********************///**/%##%%%%%%%%%%%%%%%%%%%%%%%%%##### #%%%%%%%%%%%%%%#%######################%%%%####(((////////***************,,,,,,,,,,,,,,,,,,,,.......,,************//////////*/***********///***************,**////****#%##%%%%%%%%%%%%%%%%%%%%%%%%%##### ##%%%%%%%%%%%########################(#%%%#####((//////***********************,,,,,,,,,,,,,,,,,,,,,,****************////////*********************************///////*/####%%%%%%%%%%%%%%%%%%%%%%%%%##### ##%%%%%%%%%%%########################(#%%##%##((//////***************************,,,,,,,,,*,,,,,,,,,******************///////***************/**************//////////####%%%%%%%%%%%%%%%%%%%%%%%%%%##### ##%%%%%%%%%%%########################(#%%#####((/////******,,********************,,,,,,,,,**,,****,,******************//////////*****************************/////*/#######%%%%%%%%%%%%%%%%%%%%%%%%##### ##%%%%%%%%%##########################((%%#####((/////*****,**********************,,,,,,,,,**,,,,,**,*********************//*/**************************************(########%%%%%%%%%%%%%%%%%%%%%%###### ##%%%%%%%%%#########################(/(%%#####((//////***********************************************,,,**,,********************************************,,,*******(########%%%%%%%%%%%%%%%%%%%%%%%###### ##%%%%%%%%%%###########################%%#####((///////*******,,,,,,,******,,,,,,,,****,,,,,,,,,******,**,,,,,,,****,***********************************/.,,,,,,(######%%%%%%%%%%%%%%%%%%%%%%%%%%%%##### ######%################################%%#####((///////******,,,.... ..............................,,,,,,,,,,,,*************************************(########################%%%%%%%%%%%%%%%%%%###### ###%%##%################################%######((///////*****************,******,,,,,,,,,,,,,,,,,,,,,,,,,,....,,,,******/******************************####################%#%%%%%%%%%%%#%%%##%%%%#####( ###%#####################################%#####((///*///**************//////*************************************,*****************,******************(##############################%%%#%%%##%%%######( ########%######################################(((///*********////////**************,,,******************************************,,******,,,,,,,,,**,/##################################%%%#####%######( ###############################################(((//************/////////*****,,,,,,,,,,,,****************/**********************,,,,,,,,,,,,,,,,,,,*##################################################( ###############################################(((//**********/*/////////******,,,,,,,,,,,,************/***********************,,,,,,,,,,,,,,,,,,,,,(#######################################%###%######( ################################################(((//*******/////////////////*****,*,,,,,,,,*****************************,,,,,,,,,,,,,,,,,,,,,,,,,,*(##################################################( ################################################((((///**///////////////////////////////////////////**///*****,******,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,, /###############################################( #################################################(((/////////////////////////////////////////////////////*********,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, /######################################%######( #################################################((((/////(((/////////////////////////////////////////*********,,*,,,,,,,,,,,,,,,,,,,.....,,,,,,,,,. .(###########################################( ###################################################(((////((/(///////////////*/////**//////*****************,*,,,,,,,,,,,,,,,,,.,..........,,,,,,,, .(#########################################( ####################################################((//////((((/////************************************,,,,,,,,.......................,,,,,,,,,,, .*#######################################( #####################################################(((/////(((///***************************,,,,,,,,,,,,,,,.........................,,,,,,,,,,,,. ./####################################( ######################################################(((((////////*********,**,,,,,,,,,,,,,,,,,,,,,,,,,,............................,,,,,,,,,,,,. *##################################( #######################################################((((((///////****,,,,,,,,,,,,,,,,,,,,,,,,,,,..,..............................,,,,,,,,,,,.. *################################( #######################################################((((((///////*****,,,,,,.................................................,,,,,,,,,,,,,,. .(##############################( ######################################################(#(((((((////////***,,,,,,,,...............................................,,,,,,,,,,,. *#############################( ####################################################(*.##(((((////////*****,,,,,,,.,.........................................,,,,,,,,,,,,.. *############################( ##################################################(/,. /#(((((//////********,,,,,.,.........................................,,,,,,,,,,,.. ,(##########################( ################################################(/... ,(#(((((//////******,,,,,,,,......................................,,,,,,,,,,,... .(#########################( ############################################(((/,.... .(((((((///////***,,,,,,,,,,,,...............................,,,,,,,,,,,..... *########################( ########################################((((((*..... *((((((((/////*****,,,,,,..................................,,,,,,,,,...... *#######################( ####################################(((((((/,... ... .*/(((((((//////****,,,,,,,,,,,,,........................,,,,,,........ .(#####################( #################################(((((((((*........ .*////(((((/////****,,,,,,,,,,,,,,,,,,,..,...,,,...,..,....,,,..... ./#####################( ##############################(((((((/*,........... .,,**//////////*/******,,,,,,,,,,,,.,,,,.,,......,..........,,,. ./################(( ##########################(((/*,,.... .......... ..,,****//////********,,,,,,,,,,,,,,,,,.,............,,,,... ./############(( ##################(((/*,... ..... ............ ...,,,,*************,,,,,,,,,,,,,,.........,,,,,.,,,,... *(######((( ############(((*,. .. ..... .............. ....,,,,,,,,*,**,,**,*,,,,,,,,,,,.,.,,...,......,,,.. ,(##(( ###(((//**,. .. . ............. ....,,,,,,,,,,,,,,,,,,,,,.......,,,,....,,,.. . ,. ... ... .............. .......,,,,,,,,,,,,,,,,......,,,,,.... .. . .............. . .........,,,,,,,,,,,....... . .............. ., ..........,,,,,,,.. .. . ............. ..., .......,,,,,,,. . ............. . ....,,,,,,,, .. ......... .,,,,,,. .. ....... .,,,,, .... ..,,,. .. . ..., . .. .. .. . ***************************************************///**//////////////***************************,,,,,,,,,,,,,,,,,,,,,,,,,,,,. .,......,,,,,,,,,,,,,,.................................. ,,,,,,,,,,,,,***,,,,,,,,,***,*********,,********************************************************, .,*,,,,,,,,,,,,,,,,,,, ..........,,,,,,,,,,,,,,,,,.............................. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,.........,,,.... ...,,,,,,, ,......,,,,,,,,,,,,,,,,,,,,.......,..................... ***************************************///////*********,,,,,,,,,,,,,,,,,,,,,. ,,....,,,,,,,,,,,,,,,,,,,,,,,,......,.................. ***********************************************************************. *,,,...,,,,,,,,,,,,,,,,,,,,,,.,,,..,,,,,,,.,...,....... ,,,,,,,,,,,,,,,,,,,,,,,,,,,,***************************************. ,,,,*,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,**,***********,*,,,,*,,**. ,,,,,,*,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,***,,,,,,,*,,,,,,*. ,,,,,,,,*.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, *,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, **,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*. ..,,,,,,,,*,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, *****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. . .,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, *,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ...... .. .... ........... ,,,,,,,,*.***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ...,........ .,, .,.. .................... ,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. ***,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, .,,,,......,,,...... ...,.....,.... ..,...,,..,,,,,..,...,......,,,,.,,. .,,,,..,,,***,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,.. *******,,,,,,,,,,,*********************,,,,,, .........,,,... ..,,..........,...,,,***,,,,,,.,,,,,,,**,,,....,,,,.,,. ,,.....,.**,,,,,,,,,,,...,.................. *************************,,,,,,,*,,,,,,,,,,* .,,,,*******,,,,,,,,,......,,.,...,******,,,,****************,**,,.,...,....,,,.. . .. ......................... &&&&&&&%&(*******#%#&&&&&&&%%%%&%&&%%%%%%%# .. .,,,**,..****,,,,,.,,*****,,,,,**,****/**////*****,,,*,,*****,,**,*,,,.,.....,.,.,,,.,. .,,,,,,.........,,,,..,,,,,,,,,,,,,,,,,,,, &&&&&&&&&%/*******#%#&&&&&&&&&&%&%%#/**/%%, .,,,,,**,.,,.,*,,....,**,,,,***,***********,************************,,**,,,,,,..... .,,,. .*********,..,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&%#*******#%%&&&&&&&&&&&%%%*,, *. .,,,..*,.*,...*,.,,*,**,/*****/*,/*/***/,,*****************////**********,,,,,,,,.,,,*..,..... *********,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&%%(*******#%%&%&&&&&&&&&%%/... ,,*,..*,.,*,,,,,,*,****,,,,///,//*/****/***/*/*****////*//////*//***********,*,,*,,,,,.,,....,,,. ///*. .**,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&&&&#*******#%%&&&&&&&&&&&%*,*... .*,,,,,....,,,,*****,***,*,*/*////*******/**///***////////////////*//************,,,,,,,*,,,,..,,,,. ,* . *//*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&&&&&#*******#%&&&&&&&&&&&&%*... .,*,**,,,,,,,,,,,**,,********/////*/***/*/////////////////////////////****************,,,,,,,,...,,,**.. ...,//*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&&&&&&%*******%&&&&&&&&&&&%%%%* *,****,**,,,,,,************//*///*/*//////////////////////////////////******************,,,*,,,,,,,****,. ....//*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&&&&&&&#*/*****%%&&&&&&&&&%&%/ ., ,*,******,,*****************//**///**/////////////////////////////////////*****************,,*,,,,,,,,****,. .*//*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, &&&&&&&&&&&&&&&&&%******/%%&&&&&&%&%%#*.,. *#*********,***************//////**//////////////////////////////////////////////******************,**,,*****,, .//*///,,,,,,,,,,,,,,,,,,**,,,,,,,,,, &&&&&&&&&&&&&&&&&%#*/****/%%%&&&&%%%%/.., .///**///*******************///////***//////////////////////////////////////////////********************,*******, ..../////*,,,,,,,,,,,,,,******,,,,,,,,, &&&&&&&&&&&&&&&&&&&#******(%%&&&&%%%%, *. *//**/*//*/***************///////////////////////////////////////////////////////////////************************,.. ...,////*,,,,,,,,,,**********,,,,,,,,, &&&&&&&&&&&&&&&&&&&&#*/****#%%&&&%%%/,,* #(**//////**************////////////////////////////////////////////////////////////////////*****************//*/**, . ...////*,,,,,,,***************,,,,,,, &&&&&&&&&&&&&&&&&&&&&/******#%&%&%%%*.,, (%(*/////*/*************//////////////////////(///(/((((//(///////////////((///////////////////**************//////*/, , .////*,,,,,*****************,,,,,,, &&&&&&&&&&&&&&&&&&&&&&(*/****%%&&%%#,.*. .%%#////////***********////////////////(/////////(((//(((((((((//////////(///(((/////////////////***********/*////(*/*/* .*///*,,,,******************,,,,,,, &&&&&&&&&&&&&&&&&&&&&&%(/****/%%&%%#,., (%%#////////*********//////////////////////////////((((((((((((((((((//(((((((((/////////////////////////**///*//((///**,. .////,,,********************,,,,,, &&&&&&&&&&&&&&&&&&&&&&&&(*****/%&%%(,. .*////////*******//////////////////////////////((((((((((((((((((((////////////////////////////////////////*////((////, .,.,//*,,,********************,,. &&&&&&&&&&&&&&&&&&&&&&&&%/*****#&&&,.. ..,,**/*////*/****/////////////////////////////////((((((((((((((((((/(((///(/((/////////////////////////////////(/(////**..***///*,,**********************,.. &&&&&&&&&&&&&&&&&&&&&&&&&%/*****%%%/((/,,*****///////***/////////////////////////////(///(((/((((((((((((((((((/(//(//////////////////////////////////////(/////**.*//////*,,,********************, &&&&&&&&&&&&&&&&&&&&&&&&&%%******%%((((,,**,**////////***//////////////////////////(/((((((((((((((((((((((((((((((//(//////////////////////////////////////////(,.**/////**,,*********************... &&&&&&&&&&&&&&&&&&&&&&&&&%%#*****/%(///,, .*////////**////////////////////////(((((((//(((((((((((((((((((((///////////////////////////////////////////((/////*. ,,******,,*/(/*,**/************,... &&&&&&&&&&&&&&&&&&&&&%%&%/*/**,(((****,,* .///////***///////////////////(((((((((((//((((((((((((((((((((((((((((((//((///(//////////////////////////(/((///**. ****,.........,,**,*/*********,... ####%%#####((((((((((****,,,,*,,,*//** **///*****//////////////////((((((((((//(((((((((((((((((((((((((((((//(((((((//////////////////////////////////**. ,/*//,,*****,,,,******,*******,... %%%%%%%%%%%%%%%%%%#*///**********////. .*********/////////////////((((((((((((((((((((((((((((((((((((((((((/((((((////((((///////////////////////////**. *////***********///////*******... ****************/(/////*///////*////,. ,*******/////////////////((/(//////(((((((((((((((((((((((((((((((((((((((////////(//////////////////////////*/,. ,////**////////*//////(******,... ****************(///////////////////.. .*******//////////////////////////////////(((((((/((((//(((((((((((((((////////////////////////////////////**/*. //////////////*//////((*****,... ***************(////////////////(///,. .,**********/////****************//////////////(//////((((/(/////////////////********,,,,,,***//////////////**, *///(/////////*//////(#/****,... ///////////////(///(((//(/((///((((**..... ,,************,*,,,,,**,,,,,,,,,,,,,,,,,,****/////(((///((///*****,,,,,,,,,.,,.....,,,,,***********/*//////**. .....((((//((((((//(((((((##**/*, //////////////((//(((((*(((((((((((*/,,,,, .,*******,,,,,,,,,,,,,,,,,,,.... .......,,,****//////(((((////****,,,... ...,,,,,.................,*********, .,.,,.*/((((((((((//((((((((#(***. ////////////(((/(((((#(/(#(((((((((*/,,,,, . . ..,*///*********/////////*******/////////,...,*//////////*.....,****///((((((#((//(////(((///****/////*..., .*. .....*//(((((((((*(((((((((((//*,.. ////(((((((((((/(((((#((*((((((((//*/,.... ..,**.,****,,,,,****/////***,,.......,******/****/* ..,,***,,,. ,/****,,***///**/**,.,,,*/////////**,*****//*..... .....*//((((((((//(((((((((((/**,.. (((((((((((((((/((((((((//(((((((//,/,.... ,///,.,*****,,,,****,...,,**,,... .,.,///**********.*/////////*,.**********/((/,,,,,,,,,**,...,*////****///*//.. .. .....///(((/((((/((((((((((((/**,.. ((((((((((((((//(((((((((*(((((((((***.... . *..******************,,***,.....***,,,,****,.* ,*////////**,* , .**,*********,..,,*******//**////////////*,/*.,. .....**//((((((//((((((((((((/**... ((((((((((((((//(((((((((/*((((((((**/.... .* ,*******/////*//////*///*****************,,..,*////////***,.,,,*************/****///(((///////////////////**. ....,/*(/((((((//((((((((((((/**,.. . ((((((((((((((//((((((((((//(((((((**/..... .*,.*****/////////////////////***************,,***/*/////////*,,**************///////////////////////////////*,. ...../*/(((((((*(((((((((((((/**,. . ((((((((((((((//(((((((((((*((((((/*,/ .... **,.**///////////////////***/**/////////***,,****////////////**,******//////////////////////////////////////*. .....(,(/((((///(((((((((((((***,. , ((((((((/////*//(((((((((((*/((((//**(..... ,**///////////////////////////////////********///////////////////****///////////////////////////////////////. .....(*/(((((#*/(((((((((((((***,. , (((((////// ,(/((((((((((//((((((*/(..,.., ,..,***/////////////////////////////////******/**////////////////////////////*/////////////////////////////////. ...,,,(*/(((((((,(((((((((((((***.. , ((((((///////////((((((((((*(((((((/*(,,,,., ,****/////////////////////////////////////******//////////////////////////////////////////(((/////((////////*. .,..,,(**(((((#/(((((((((((((/**** , (/////////////////((((((((((//(((((/*(/,,,,, */****///*////////(/////////////////////////***///////////////////////////////////(/////(((((///((///(////////*.. ...*((///((((((((((((((((((,.,**. . ((((((////////////(((((((((((((((((((((.... ****/**////////////((////////////////////****/////////////////////////////////////(((((((((((/((((//////////. . ...*((((((((((((((((((((((/,.***. ., ///((((((((/*.. .//((((((((((((((((((((,... ,******/////////(/(/////(/////////////******/////////////////////**/*/////////////(((((((((((((((((/(///////. . /((((((((((((((((((((((..,***. .. ////////////. ////(((((((((((((////* .*****//**//////////////////////////*******///////////(//////////*//////////////////((((((((((((((((////////. /(((((((((((((((((((((,,/***, ., /////((((/ ,/////(((///////////// ****/***///////////////////////////******////////((((//(///////////////////////////((((((((((//(///////////. ////(((((((((((((((((///****, .. ((((###(, /((((/*///////////////////. ,******/////////////////////////////*****//////((((((((((/////////////////////////////(((((((((((////////// ./////////(((((((((((/////***. .. ///////* .(///////***////////////////, ********////////////////////////*////*****////(((((((((((/////////////////////////////(((/(//////////////, .//////////((((((((//////****. ., /////// */////////*******//////////// *******////////////////////////////////*****//////((((//////***//////////////////////////////////////////. ,/////////////////////////***. ., ///////. .////////, .,,*************** .**//****/////////**/////////****////////////*////////////////////////////////////////////(/////////////* /////////////////////////****. ,, //////*, ,///// .,,,,,,,,,,,,,,,. ***//**//////////*////////*//*/*/////////////////////////////////////////////////////////////////////// ,**************///////////****. ,, ///////,. .*, .,,,,,,....... ***/***///////////////////////////////////(///////////(///////////////////////////////////////////////*****,,,,,,,,,,,,,***///////////////****. ,, ////////, .. . *******////////////////****/*////////////((((////((((((////(///////////////////////////////////////************,,,,,,,,***////////////////***. ,, //////////. . . ********////////////****,.,*******///////////(((((////////////////////////(///(//((/((///////////*************,,,,,,,,****//////////////****. ,, ////////. .. .. . ,**********/*************,.. ,**//,//*******///////**/////////*,,,**///////(/((((((///////////* .**********,,,,,,,,******///////////*****. ,, /////, . . ,,,,,,,,********,,,**,,,,,... ***/(#//(((##/*((((((/###(/(/..,**///////////(((((///////////* .*****,,,,,,,,,*****////////////***** ., /, . .. .......... **//*//((((/((((((*#((,,*****//////////////((////////////. .*,,,,,,,,,********///////******, ,. . .... .,,,......,,,,,,****///////////////////////////////. .,,,,,,,*********////********, .. ..,,.. ... . ,*****////////////((((/((///////////////, .,,,*********************, .. .....................,,,,,,,,,,, . . ,,,****//////////(((((((///(//////////// .********************, .. . .. .,*, ,.***//////////((((((((((///////////// .,***************, .. .. ,**. /*/////////((((((((((((((//////////*,, .,*********, .. ,***********,,.. **///////(((/(((((((((((((//////////,*****. **,,, .. .,,************//////////*/////////***/////////////((((((((((((((((///////////.,****/*/*. .. .,,,***********///////////////////////////////((((((((((((((((((((///////////, .**///////, . .,,,***********/////////////////////((((((((((((((((((((((((((((////////////. ,/////////, . .. .,,*************///////////////////(((((((((((((((((((((((((((/////////////* */////////. ,,. ..,,***************///////////////((((((/((((((((((((((((((////////////////. ./////(/((. . ,,,. .,,,****************/////////////(//(((////(((((((((((//////////////////*, ,//////((* . .,, .,,,******************//////////////((((((((///((//////////////////////* ,(/(((((/ ,.. . .,,*******///*************///////////////////////////////////////////** .(((((((/. **, . ,,*******///////***************//*////////////////////////((/(((////*. .((((/(((* *//*. . ,,*******//////////////////////****//////////////(/((((((((((/////*, ,/((((///, *///*, . .,****//////////////////////////////////////(((((((((((((((//////*, ./(((((((* */////* . .*****/////////////////////////((((((((((/(((((((((((((((//////** /((((//((. *//////. . *****//////(((///////////////////(((((((((((((((((((((((/////* ,((((////* ,///////. . ,***//////(((((((((((((((////////(((((((((((((((((((((////** *(((//////. .//(/////, .. .***/////((((((((((((((((((((((((((((((((((((((((((((////, ,/((///////. ///(//((/ .. .**//////(((((((((((((((((((((((((((((((((((((((((////.. *((///(////. *///((/// . ,**///(((((((((((((((((((((((((((((((((((((((((///,.. .///////////. //((/(//, . ..*////((((((((((((((((((((((((((((((((((((((///* .. .///////////. *//((((// .. .,*////((((((((((((((((((((((((((((((((((///*... .(////////*, * .(/((/(/(. .. ..,*///((((((((((((((((((((((((((((((((//*, .. .////*, .// .(((((((// .. ..**///((((((((((((((((((((((((((((//*,. .. .*. ,(/// ,(/((((((/* .. ..***///(((((((((((((((((((((((///**, .. *(///(( /. ,//((((((/* .. .,**//////(((((////((((((/////***..... *(////((( ///. ,(//((((((/ .. ..,**/////////////////////****,..... ,/////((((/ ///(/ ////(/(((/ .. ..************************...... .//////(((/. ((/((/, *//////(//. .. ...,,,,,,,,,,,,,,,,,,,,..... *//////(//. (((/((((. ,///((////, .. ..................... ./////////. ,(((((((((. */////////* .. . ......... *////////, ./((((/(((/. *////(((//* .. .. .///*////, ,(((((/(((/,////(/// .. . *//*///// /(((///(((,*//// .. .****////. (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((#(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((((/(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((///(//**///(////*/(((((////(((((((((((((((((((((((((((((((((((((((((/((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((//,..,,,,,,,,,.,,**,***/************/(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((/((////*,,,,.,,,......**,.,,,,,,***,,*,,,,,,,,*****///((((((((((/((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,,,,.,,,,,,,,,........,,,,..,*,,*,*,,,,.,,,,,**,..,,,,,,,,///((//((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((((((((((((((((((((((((((((((((((((((((/(/((((((((/***,,...,,..........,,,...,,,.,,,,,,,,,...,.,**,.,,,,,,.,....,.....,,**/((/(/(((////((/(((((((((((((((((((((/((((/(((/((/(//////(/(( (((((((((((((((((((((((((((((((((/((((((((((((((((((((((////////**,*,,,,,*......,,,,,*,..,,*,//****,****,,,,,,,***,,.,,... ..,...,,,,,...,,*//(/((((///(/(((((//((((//((((((/(//(/////(((//////((//(( ((((((((((((((((((((((((((((((((/((((((((((((((((((((((((/*/**,,*,,*,,,,,.,.,,,,*,*,.,,,...,,,,,,***,,*,,,.......,,,,..,,,...,....,,,..,,.,,,.,,,*/////(//((((((((///////((//((((/(((/(((//////((((((((( (((((((((((((((((((((((((((((((/((//((((((((((((((((//(/(/***,*,,,,,,..,,,,,.,,,,,,,,,,,.,,,,******,,,,*,.,,,,,,*,*,,.....,,.......,,,.,,,..,,,,,,.*//(/(((/////((//////(//(///((/(///(/((/(////////(((( (((((((((((((((((/(((((((/((((((((///(((((((((((((/(((///**,*,,,,,,,,.,...,**,,,,,,,*,,****///*/*,,,,,,,,,,,,**,.,.,,...............,,,*,,,,,,. ..,,**///////((/(//////////////////////(////////////(((( (((((((((((/((((((((((((((/(((((((((((((((//////(/(//////////*,,,,,*,,,,,.,,,,,,,,,,,,,.,,,.,,,**,*,,,*,,,,******,,,...............,.,...,,,,.,*...,,,,*/(/(/////(((//((/(/////////////(////((/(/////((( (((/////////(///((////////////////(//////////////////*/((/*****,,******,,,,,,,,,,,,,,,,.,*,*,,,,,,,,***///,*,*,,,.,..................,...,,,,,,,,.,,,,,,,*////////////////////////////////////////////(( ((((///////////(/////((((((/(/((((((((((////////////*///(/**,,,,**//**************,,,,*,,,.,,**,,,*,,,,,**,******,*,.......................,*,,,,,,,.**,,,*///////(///////////////////////////////////// *************************************************//***///*,,,,***/****/*/*///*******/*******************,,,,**,,*/.,,,,,,........***,,,,,,,.,,,,,,,,,,**,,,.******************************************** *************************************************/**///***/**///////////////////////////////***************,***,,***,,,,,,,,,,,,,.,.,..,...,,.,,,,,.,,.,,*,,,******************************************* /***********************************************//////***////(((((/(((((((((((((((((/((((/(((//////*****************,,,,**,,,,,,,,,,,,,,,......,,,,,.,,,,,,,,,****************************************** **********************************************//**/////*//((((((((((((((#####(###(((((((#((((((((////**//*********,*,,,,,**,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,****************************************** ********************************************//(//(#//////(((((#####(####################(#((((((((((///*/*///**/***,****************,,,,,,,,,,,,,,,,,,,,,,.,******************************************** ******************************************///((/##//(//(((((#####(#####################(#((((((((((((//*/*///*///********************,*,****,,,,,,,,,,,,,,,,,,,***************************************** ********************************************//((//(((((((((##((###########%%%%%%%%####(##((((((##((((((//////////********************,,***,*****,,*,**,,,,,*,,,,**************************************** ******************************************/(////(#(((((((#((##########################(((((((((((((((((/////////////********************************//*,,,,**,,,,*************************************** ******************************************/(/(((((((#####(#(#########################(##((((((((((((((((////////////*************,***************/(((/**,,,,***,,,,************************************* /****************************************//(//(((((((((###((((#(((####################((((((((((((((((((/////////////***********,,,,,,,,********/(((((/*,,,,*,*,**************************************** ******************************************((((/((((((((((((((((#####################(((((((((((((((((((////////////*************,*,,,,,,,,,*****/(#((//**,,,***,,,************************************** /****************************************/((//((((##(((((((((#####################((((((((((((((((((((///////**/****************,,,,,,,,,,,,****//(((//*********,,************************************** **/***************************************(#(/(((((((((((((##(#########################(((((((((((((((//////*/*///************,,,,,,,,,,,,,,,****//////**********,,************************************* *****************************************(#(((((//(((((((((#((#########################((((((((((((((/(////////////////*********,,,,,,,,,,,,,****/*//*//************************************************ *****************************************/(#((((///(((((((((#(########################(((((((((((((///((/////////////////*******,*,,,,,,,,,,,,****/*//*****//******************************************* ///***************************************###((/(////(((((((#########################(((((((((((((///((((///////////////*******,,,,,,,,,,,,,,,,,*****/******/*//**************************************** /****************************************/(((((////((((((((##########################((((((#(((///////(((//////////////********,,,,,,,,,,,,,,,,,*****//*******/***************************************** /*****************************************###((/////((((((############################((#((((((//////((((///////////*******,*,,,,,,,,,,,,,,,,,,,****/******////***************************************** *****************************************/####/////((((((############################(((((#((((///////(((((////////////**********,,,,,,,,,,,,,**************///***************************************** //***************************************/###((/*/((((((((########################((((((#((((//(//////(((((////////********,*,,,,,,,,**,,,,,,,,,*************//***************************************** //************************************////###((////((((((#################((((((((((((((((((//(///////(((((/*//***********,*,,,,,,,,,,,***,,*****************/***/************************************** ///**/*/****************************/(((####((////(((((((#####################((((((((((((//*////////////(///***********,,,,,,,,,,,,,,*********//*******,,,**/****************************************** /****/******************************/**((####((//((((((((((#(((((((##((((((#(((((((((/////***/((///****/////************,,,,,,,,,,,,,,********///****/***,,,****//************************************** ///*******/************************//***/(##(((//(((((((((///////////***//////////////******//////***,,*//*****,,**,*,,*,,,,,,,,,,,,,,,,,,,,*,//****/*****//******************************************** //**/****/*********************/***//***/((##(//((((((((//*//*********,,,,,,,,,,,**,**,,,*,*///////**,,,,*****,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,**//****/((/,*/*****/************************************ ///********************************(/**/((#(((//((((#((///*/******,,,,,..,.. ........,,,,,***/////**,,,,,,,,,....,..................,........,.,,**/******,*****/((************************************ //*////****************************//**/(####(//((###((///////**,...... . ..,,,..,,,.,,,,**/((///**,,,..... . . ......................,,,,,*/*,,,****,,,.,************************************ ///***********//*****//////////////////(((((/(//((#####((////*,..,*,**,.......,*,,....,,****//((((//**,,,.. ... .... .., ..........,,,*******/*.***,,...., . ..*********** ///******************///////////////(//(((//////((####((((///*,**/*/******,,*,,,,,,,,*****///((#((///**,,.. ... .... . . ........,,*,,,**/***,,*...,, .,,********* ///******************/////////////*/((((///////(((((###(((((((((((///////*//****,,,,*****//((####((///**,,. ...................................,,,*,,*****/,.,*...., . .,,********* ///////**************////////////////(((//**///((((((########((((((((//////**/****/**////((((###(((/////*,,... ...........,,,,,,,.,............,,,,,,,,,**///,,*...,* .,,********* //////*/*************////////////////((((/////(((((#########((((((((((((((((((////(/((((((((####(((/////*,,................................,,,,,,,..,,********,,,..,. ,,********* //**/****************////(((((///***//(((#(///((((((######################((((((((((####((((#####((////*,,,,.........,,,.,,,,,,.,,...,,,,,,,,,,,,,..,,*******/,.,,,. ,,********* *///////*/***********/////((((/*,*/////(#(###((((((#####################(#(((((######((##########((///*****,,.......,.,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,***/***//.,,//*. . ......,********* //*/*****************//////((((##//////(######((((((#######################(((##############(####((///*******,,,,.,..,,,,,,,,,,,********,,,,,,,,,. ,*//////////*((((//, ...,,***,,********* ///*/**//*************///////((((###(##########(((((((####################################((((###((//********,,,,,,,,,,,,,****,********,,,,,,,,,,. .,////(///////.*,,,,/*. .... ..,**//*,********* /**/****/************,*////////(((((####((####(((((((((#########################((((((((#########(((/********,......,,,,,,*,*********,*,,,,,,,,,,. .*///(((((/////#(#(*//, . . ..,********* ////****//*************(###(////(((((((##(((((((///((((((####################((((////((###(######((//*****///........,,,,,,,,*,***,,,,,,,,,,,,,,,..,*//(((((((////(#((///*. . ......,,********* //////**/************((######(#(**/(((((((((((((///(((((((((#############((((//**,*((###########((////*****/(*,,,.......,.,,,,,,,,,,,,,,,,,,,,,....,*/(((((((((/////*,,,,, . ............,,********* //***////************((((((((((#((((/*,*//((///(//(/((((((((#########(((((//***,*/((############((////*****//**,,,. . ,((####((//,.,,,,,,,,,,,,.,,,,*/((((((((///*//*,,,,. .. ........,,,******** //*////*/************((((((((((((((///*,....**////((/((/(((((######(((////***,,*//((###((((####(((//****,,,***,,,,..,/(##########(((((*,,,,,,....,,*((((####(((///***/**,.........*////////*,,,********* //*//////************(((((/(((((((///**..../**,..//((((((((((((((((((//***,,,*//((//(//((((((((((///***,,,,,,,,.. .*/(###########%###(#(((/,...,,,**(######(((/////*/*,. . . ..,/(. .... ./*,,******** ///**/***************((((/((((((////**,... ..,////(/(((((((((((((((//*,,,,,*///(((((/*,*,**//////*******,,,.. .**/####((((#############(((((*,,,*(#######(((/////*.. . ......./,.**,,...,/,,******** //*//***/************/((//((((////****,,,... ....,((/((((//////////***,*///((((((((((/****************,,. .,,(##########################(((((/((((####((((/////, . . .. .,,.. ..//*,,******** ///**//****/**/******/////////////*******,,..(((*,#(///((///////**,,**((((//////(///**/******,,,,,,,,. . ..,,(##########(######################((((((((#((((/////, .... ... ....*,,,,,,,******** ////**///*****/******///**////*//*********, ...../#//////(///***,,,**(((//**////////*****/****,,.. ..... .,*(############################((((######(((((((((////*/... ..............,(*....,,******** /////////*****************///************/***//(((#/(///////////*//////*/**/*/////*/***********,,........,/(#####%#################((############(###((((((((/////*//(((////////(((((((((((((/,,******** ///////////****/**********,*********,,,.,,,*......(////(/////////(////******///////////*****,,,,,...,,,//(##%%##%%%%%###############((((##############(((((((((///(###//////***///////////////,,******** ///////////**************,***,,..*/(#######%/ .,*/,((//////////(////**,,,,,********************,,,,,,,/############(###############((((((##(((####(((###((/(///////****/*////////////////////*,,******** /////////************...,,*(#################(... .//((*///////////*,,,....,,,,,,,*,,,*,,,,.........,(######((((///*,(((###############(#########((((((((((//////(//**/////////*********,,,,,.,,******** //////////**********/#####(###################/.. .///(/*/*/*/(///*******,***//////********,***,,...(##(((//******,,../////((##############(####((///((////////////* ...... .. . . . ,,******** ///////////***/******(#####(###################(,/*/((((/*/**////*******////(/////(/(/(//******,,,,/((#((//*,,...... ..***///(#############((((//*/////////(((///*. .,,******** ////*/**//****/*/***/(######(((##(((((((#(#######/////(((//*//*******/////////(//////////////*****(###((//**,,.... */(########(((((((((////////////((((//(* .,,******** //////////**//***/*/*/**///////////////////*//(((/////((((//*******,**//***//////////**********,./####(//**,,,... ,(############((((((//*/**////////(((//// .,,******** //////*////**/********,,,,,,,,,,,,,,,,,,,,,,,,,,,((////((((/*****///*/////////////////***,**,,,,/#((((//**,,,,..... .((#(##########(((((///////////////(/////,,,,,,,,,,,,,,,,,,,,,,************* /////*///////////*//****************************((/////((/(//*,****/////////////////////******,,,***#(/**,,,,....... ... *###############(((/////////////////(///*********************************** //////////////***//***//*/*********************##(((/((//(((((/*****/////////////////**/*/*****,,,,/#(/**,,,.... ....... .. .../#############(((//////////////////////********************************/* /////////**///////*///////*/***///*/*********/###(((((//(((((///***////////(////////////(//*****,,*#(//*,,,,,. . .. ........*###############(((/////////////////////*******************************//* ///////////////***//**/**/**/*******,.....*#######((((((((((((((/**/**/////(((///(/(//(((/////*/***//*,,,,,.. ........,.,...*################((///////*//////////////*******************************/* ////**/*//////*/////**,,.... . . ... .########((((((((((((/(///**/////(((((//((//((////*/*******,,..................,,...,################(((////*//////*///*/////**********/********************** *,,,,,.... ......... . .. . /########((((((((((((((//***////((/((/(/////***/***,******,,,,,,...,.,.......,,,,,,(###############(((////*****//////*//////******************************** . .. .. . ,(#######(((((((((((//((/*****///(////////*/*****,***,***,,,*,,...,,,,,.,....,,,,,/##############((((/////******////*///////******************************* .. . . ..(######((((((((((((((/(//*,*,,////**///*,/***,,,,****,,,,,,,,..,.........,,*,***/############(#(((((////*******////*//////******************************* .. . .(######((((((((((((/////*,,,.**********/**,,,,*,,,**,,,,..,........,,,,//**///(#############((((((////*******////////////.,,,.,,.,.,,,,,,,,,,,,,,,,,,,, ... . .((((((((((((((////////**,,.., ..,.,,,,,,,,,.,,,,,,,,...... ....,,//(//(((((############((((((/////********////*///////.........,,.................. ,###((((((((//((////****,,,................. .... ...,,.,,**/////(((((############(((((//////*********////*//////*,,,,,,,,,,,,,,,,,,,,,,,,,,,, . /(((((((/((//////*****,,,.........,,,,,... ...........,,,**//(/(((#########((##(((((((///////********////////////,,,,,,,,,,,,,,,,,,,,,,,,,,,, ... . ,/((((((////***,,,,,,..,,,,,,,,,,,...................,,*///(############(((((((///////////*********/////*////,,,,,,,,,,,,.,,,,.,,,,.,,,,, .. . ,*(/////****,,,,,********,,..,,,,,,..,.........,,.../((######((###(((((((/////////////////***///////////*********,****************** .. .,*********/*****,,,,,,,,,,,,,,.......... /((#####((((((((((((////////////////////////////////*************************** . ..,,**,*,,,,,,,,..... ./(((###(((((((((((((((////////(((///////////////////************************** */(((####(((((((((((((((((((((((((((///(////////////************************** *//((((#//((((((#(#####(#####(((((((((((///////////************************* ,*/////(//(((################(((((((((((//////////************************* . **///////((#################((((((((////////////************************ .******//((#################((((((((///////////*********************** .,***////(((############((#####(((////*////*********************** .,***/((((###################((/////////********************** ,//(((#####################((/////////,******************** . ,((########################(/////////*.,,**,************** *(########################(/////////*,. ...,************* . .. (########################(///**/////,. .********* .########################(//********/. . ..,****** .. (######%##############(#((//********,.,//(/#**. . ..., *#####%%%%#%#############(//******/**,(*,,*,,/%/**. . *#%%##%%#%%%%%%%########(((/***,*,****/**,,..,,/,,,* . ,*./*./#%%((#%%#####%%#####((##(((//*#&#//***,,,,,.,*,,,,,, .. . ,,,/(,/(/##//#%#(///#%%#/***(%%%**,,,/%/,***,.,,,.,*,,,,,,,, ............................ . ... .*./*(*/%.(%//&&( /&/.(%%/,#%**#%/*,(###(//**,./,..**/*.,,,*,. .......... ... ..... .............. ., .#.*/%&/.*#&&%%* /%%#(*,//*,//,*.(##/*,,,,.,. .,,/,,,**,,. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%#%%%%%%#%%%#%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(/#/(///***///**/*/*/////(#(##(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#&#%#(*/******//*****/*//***/*///*/*/*/****///###%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%////,*****/**/***/**//(///////*//////////*****//*//*/((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#/,********//*/**/*//////((/((#(/(/(#(//(/((///*/**/********//###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%##(*,****/**(//(*//////*((/(((((##(%/(/((((##(((/(/(/((/((///******//*//####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%#%##/*,*,**////((/(//////((((((((########(((((#(((#((((((((/((((//(/**/******/(#%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#%#%#(*****/((/((#(((((///((/(((#(##############((#(#(#(#(((##((((((#(##(((/*/*****////(##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#((***//(((((((###(#(((((((((##(##########%##########((#####(####(#########(((*/*/**//*//#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%##/**////(#################(#############################%########%####%########((((//*/////*(#%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#(/*/*//(#(##########################%######%#########%%#%################%#%#######(((((////**//*/(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#//***/((((#(#########################%%%##%##%#%%%%%#%%#%#%%###%%#%%%%%%################(((((/(//////(#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(////((#((###(################################%#%#%#%%%#%%%###%%#%%#%##%##%##%############%##(#//(//(*////#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(//////((##########################%#######%%%#%#%#%%%%%%%%%%%#%%#%%%%##%#%%#%####################(((//(///(/##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##((//(((((((((((((((############################%#%#%%%%%%%#%%%%%%%%%##%%%%%##########################(#(/(/(((((%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%((/(((((((((((#((((####(########################%###%%%%###%#%%%%%%########%##%########################(#/#(((*((((#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#%(((((((((((((((((((((##(###########################%##%%%#%#%#%%####%%##%%###############################(((((((/#/((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%((/((((#((((((((((((((((#(##########################%####%%%%%%#%%%%%%##%###########%########################(((((((/((%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%//(//(/(((((((((((((((((((((((####(############################%%##%######%####################################(#((((#//#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%#////(((((((((((((((((((((#(((((######################%##########%%##%##%%########################################(((((///%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%#/*///(((((((((((/((((((((((((##((##################################################################################(#(((/*(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%////(/(((((((((((/(#((((((#((((###############%##%#%########%######%###################%#####################%##(((((((/(///#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#(*/*/////((((((((((((((((((##(#(################%##############%####%%###########################################(##(((/(((/*#%%%#%%%%%%%%%%%%%%%%%%%%%%%%%% %%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(****/////(((((((((((((((#(##(#################%###%%##########%%%##%%%%%%%%%%##%#%################################(((//////*/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%#/**/**///(/((/(((((((((#(###########%##############%%#%######%##%%%%%#####%##%##%##################################(((////*/**#%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%//******//(/(((((((((((((###################%##%#################%%##%#%%%%#####%#%%%%%############################((/(//*/*/*#%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %######%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/******//////(((((###(############################################################%%%%###%########################(((/(////,*/#%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %#######%#%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%##*/*****/////(((((##########################################################%####%#%##%#%#%%%%%%##################(((((*(//*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#*****////(//((#(#########################################(################################%%#%%%%################((((/(/*/*****#%%%%%%%%%%%%%%%%%%%%%%%%%%%% %#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#%###%*,*,///(/((((((##########((###(####(#(###(##(#(#(######((((#(###########################%#%#%##%%##################(((///*/****#%%%%%%%%%%%%%%%%%%%%%%%%%%%% %########%%#%%%%%%%%%%%%%%%%%%%%%%%%%%#%#%##**,*////(((/(((((//((/(//((((####(##((((((/(/(((((((#(#(#((((((((#((#((#(#/((/(##(/#(#///*////(/((#(%#############((((/////****##%%%%%%%%%%%%%%%%%%%%%%%%%%% %#######%#%%%#%%%%%%%%%%%%%%%%%%%%%%%%%#%#%#(**,///((#(/,. ..,,********,**,... ,,******//((#(######(((/. .*//////*******/**/*////////(/((((((#(./########((#((//*/*/**,#%#%%%%%%%%%%%%%%%%%%%%%%%%%% ################%%%%%%%%%%%%%%%%%#%%%#%###%##*,** *((((****,,****,**,,,.,..... . ...,..,..**/(###%#%##((*(((/***********,*,*,,****/*/////((((((/((((//(((///(//**********,*#%%%#%#%%%%%%%%%%%%%%%%%%%%%% %#####%#%#%#%#%#%#%#%#%%%%%%%%%%%%%#%###%%#%%%/ (%////**,,*,,,,,... ... */#%%%%%%#(,/#((//**,,,,. ..... ...,,..**/*///(//(/(. .,,,**//*/**/*,*,(%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %###############%########%%%%%%%%%###%%#(// *, *(/******,,, . ,.. . ... .*(########%(,#(/*,,,,,,,. ..,. , ,*,**,, **/*/(//(.*#(((((((((//**/*. ,(####(%%#%%%%%%%%%%%%%%%##%%%% ########%#######%#######%#############%(,//*//*.(////***,,,,... ......, .,.. . ., .,,//(#######/.*,(/**,*. . ...,, . .**,.,,,**,,*///(( /(((((((((((//*////(####(((%%%%%%#%%%%%%%%%#%%%%%% ################%#######%##############%/. ,*/* (,/////*,,,,,*****//*////*/**/*/*****,**, */*/((###%###(/.,,*((*////*//*(///(#((((/(//(//(/(//////((( (#(#(#((((((////(*((#(*.,,/%%%%%##%#%%%%%%%%%#%%%% #######%%#%#%#######%#######%###%########,,.,***/*//((((////(//*****////*//*,****///(*//.,/,*(##%%%#%%##/*., /(#(//(//////(///////(///(((((#(#(##((#(*#(###((((((((////*////(*,*/%%%%%%%%%%%%%%%%%##%%%% #######################################%##,,***(,%///((###(((///(///**/*//////(((((//((,./,//(####%%%%###((,/#####((((((((((((////((((##############*######((((((((/////*//((#,*(%#%%%%%%%%%%%%%####%%%% #########################################%(.***(,*#(((((((##((/(#(((((((((((((((((((((*.*///((####%%%#%####(,/%########((((#(((((##########%######%*/%######((((#((//*//((((##*/(%%%%%%%%%%%%%#########% #########################################%%***/(//*##((((###((##((###((#############(../((((((##(##%%%#%####(/.%#%(#############%####%##%%###%%#/ ###%########((#(/***//(#((#(//#%##%%%%%%%###%######### ##########################################%/*,*(//(*,,(#######(###################(,,(***//((###(###%####%#%#(/(/*,((%#%%%%%%%%%%###(/***/((#%##################(#(/***,***//(#(%##%##%%%%%###%#######%% ###########################################//**(////(((/(#(/*,,..........,,,,/(##(((/***//(((((######%%#######(//(((#####%#%#%%##%##%################(#(###(((((((#///***//*/((%##%##################### ###########################################(/**#/(////(/((((((((#########(#(((((//***(((#(((((#####%%%###########//*//(##########%#########%############((#(#((((((//((((///(##%