/**
                                                     ``` -____((++1zzzwwwwwwXXXZZXXXXXXXXXXyyyyZZZZZuuXwwwz+----.  ``
                                                 ```  .___(++1zzOwwXXyyXyVVVWWppWWppfffWWWWWWWppfffpWWfWWXZZXXwwO&---   `
     `       `     `    `  `                  ` `  -__(+++zzwwzwXyVVWpppWWkkkkkkkWqqqqqqHmqqqqqqqkkkkqkkkkbWWWfWkXuwwz-__.  ``                   `   `
   `    `  `     `          `             ` ```  __(++1zzwwuXXWffpWkkqqqmmmmqHHgggmmmmHggggggggmmmmqgggqmmmqqqkkkWpWkZuXo+-__  ``                 `
                      `         `       `  `` .__(++zOwwuZXWfppbWqqmmgg@gmgH@@g@@@gg@@@@@@@@@@@@HH@gg@@HmgggmmgmmgmHHHWWXXXw&-__ ```
    `  `    `  `   `    `  `        `  ` `` .__(+zzwwXZyXfppbbHmggg@@@@gH@@@@@@@@@@@@@@@@@HH@@@HH@@@@@@@@@@@@ggggH@@@@HmHHWWXXw&-_- ```  `  `    `  `
         `                           ` `` .__++zOwuZZyWpbbkqHHg@g@@@@HH@@H@@H@@@@@@@@@@@@@H@@@@H@H@@HHHHH@@H@@H@@@@@@@@@H@HHHkWkww+__ ```  `  `
  `   `          `  `     `     `  `  `  __(+zOwwuXyWWbWqqmH@@@@@@@MgH@H@@HHMH@@@@@@@@@@H@@@@HH@@@@@@H@HH@@HHHH@@@@HH@@HH@H@HgHHWkkw+__- ``    `   `
           `  `       `     `      ``` -_(+zzwuuZyWWbHqmggH@@@@@@HM@@@@@H@@@@@@@@@@gg@@@@@H@@@@@@@@@H@@H@H@HH@HH@@@@@HH@@H@HHM@gHqHkXwx__ ````  `     `
   `   `                 `      ` ``  __(+zwuuXyVWkqHmg@H@H@@@@H@@@@@@@H@@Hg@@H@@HgH@@@@@@@MH@@@@@@@@HH@H@@H@@@H@@@@@@HH@@@HHH@H@@HHWkXO<__ ````  `
     `   `   `   `  `          ` `` -_(+zwuuZXfpWqmgg@@@HH@H@HH@@@Hm@@@@@Hg@g@@@HmH@g@@g@@@gH@@g@g@@@@@@HH@HH@@@H@M@@@@HH@@@@HHH@H@gHHkXw+__.````  `   `
                        `  `    `` __(+zwuZyVppWqgg@@@HH@@H@@@@@@Hm@Hgg@HHg@@@@gggg@gHH@@ggg@H@g@@@@@@@@HH@H@@@@@@@@@HM@HHH@@@HHHHMHg@HkkXz__..````  `
  `   `    `      `   `      ` `` __(+zwZZyVppWqH@@@HHHH@@@@H@@@@g@Hgg@HHgHg@@gggg@mmH@@@mgggHgmgggH@@@@@HH@M@@@@@@H@@H@HH@H@@@HHHHHMg@HHWkz__..``` `   `
        `    `   `          ` `` __<1wwZyyWbWHm@@@@HHH@@H@@H@H@@ggggg@HgH@g@HHggm@HkH@@@mmggggmqgqgH@@@@H@@@@@@@@@H@@@@H@HH@@@@MHH@HHM@@HHWkO<_.```` ` `  `
    `               `    `   `` __<1wuZyyWkkqm@@@@H@H@@@@@@@@@gggggmHHqqH@@HqmqqgHkqgg@gmmm@mqqqmmHg@@@@@HH@@@@@@@g@@@@@@@H@H@@@HHH@HHM@@HHWwO-_.````    `
       `   `   `           ` ` __<1wuZyVWkqqg@@@@H@H@M@@@H@@@ggHHgqHmHWH@@gHqkkHmkkHg@gHqqmHqkkHmqHg@@@@@H@@@g@@@@gH@@@g@HH@HH@@@HHHHHHM@@HHWwz__.````` `
  `               `   `   ` ` __++wwZyfWkqHg@@@@H@@@@@@@@@@@HmHHgqkWHWW@HmHWkkWqkkWmggHkkqqkqkqqkqmm@@@@@@@@@gH@@@gm@g@@H@@@@HHHH@HH@HHHM@@HWkwo~_.``` `
    `  `    `            ` ` ._(+OwZyfWkqHg@@@@H@@@@@g@@@@@HqHHmqkpHHWHgqHWppkqHWHmmgHpbkqkkqkqHkqqm@@@@@@H@ggm@@@gmHg@@H@@Hg@@@H@@@H@HHHH@MHWXw<~..```  `  `
         `     `   `      `` _(+zwZyWWkkHg@@@@HM@@@MgH@H@@@HqgqqHHWHWWqHHWppbHqkqWmmmHpWqqbkkqqkkqqmgg@@@@@@ggmH@@gqqg@@g@H@@MH@@H@@H@HHHMH@@HkuI:_.````  `
   `         `        `  `` _(+zwuyWWkkHg@@@@H@g@@@gg@@@@HHqmHmqkWHfWkqqWVppqqkqHkqWHWpWbkpWbHkkkqqmgmg@@@@gmgHH@@mqqqgg@@H@MM@HM@HH@@HHH@MM@HHkuc:_.````  `
     `  `  `     `  `   `` -_<zwuyXWkkHg@@@@H@@g@@Mg@@@@HqHHqmmHHkpfWHmHyVpWqkqkbkbqHpWVbkpkWbqkkqqqmqgg@@@gmggH@@gHqqgHg@@gMH@HH@@@@M@HHHMH@HHHXI:_.```` `  `
  `                     `` _(+wuZyWkqkHg@@@@@@gg@@gg@@@HHqkqmgmbWkpWWqqHyfpqkkkHWkWHpfyVWHVkWbkbkqqqkkgggg@gkmgH@@mgqqgHg@@gMHHHH@@H@M@HHH@H@HMHkZc;..``` `
      `      `    `   ` ` _(+zwZXWkqkHHm@@@@@@gm@@g@@@@@qkHqmgHWWWpWHWqWVfWkqqkWkWHHfVyWqHWHWbbbkkqqkkgg@ggmHm@H@gHgqqgHg@@HMHHH@@H@@@@@HH@MMHH@HWk<_.```` `
    `   `  `     `   ` `` _<zwZuWkkqkmqH@g@@@@gH@gg@@@@MkkkkH@qfkWWWkqqWyfWkqkkWpWmHfyyWkWWHpkbbkkqkkkggggHqHHgH@gHgmmggg@@H@M@H@@@H@H@@HHM@HHH@HkZc<..```  `
                      `` _(+wXZuWkqHWHq@g@@@@HqH@@gg@@@HHbbk@gHWHWWWHHHWVVbWmqkfbWgHWyyWkfWWpbbbWkqkpbqmmgkkmHg@@mmgmmgmH@HMHMMH@@@@H@H@HHM@@@@H@HyI<~.```` `
  `  `  `    ` `  `  ` ` _<zzZuXkkqHHWqHg@@@@gH@@@Hm@@HHppWH@gHWHkpqkmHHWybHmgHbHWmHWZZWkfffpppbHkqbppHmmmkkHHg@HmmgggHm@@MHHHMg@HH@H@@@HHMg@HMH@HWk?_..``` `
           `        ` ` _(+wuZuXqWqWHkmggHH@@gH@@@ggM@HHfpWHgHHbHqfqqmHHWVbmg@HpWWgHyZyWkWpppfpbkkqbpWWqmHbkHgH@HqgHmgHH@MH@MHMHMH@@H@@HH@Hg@H@H@HHyz<..```  `
                  `  `` _(1zuZuWHWqqHWHg@@@Hgg@@@@g@H@mWfWXqHHqbHHVqqmgHpWWH@@mkpH@qfyfkkHbpbppbWmqkWWWkqHbkq@g@HqgHmHWH@@H@HMHHH@H@HH@HH@@gMH@@H@HVI<~.```` `
  `  ` `     `  `   ``` _+zuuuzWHkqkfHH@@@@@g@@H@@g@H@qpfWXHHMqpHHVHqmHHpHWH@@gWqH@gHfWWqqkkkpfpkgqbpWkkqpbHm@@@qq@qHHH@@HHMHMH@@@H@H@@HH@@@MH@@@@HWZz~.```   `
         `         ` ``_(+wuuXwWWWqbWbg@@@HMg@@H@@g@HMHWfWXpH@HpkVfWqmHHHHWgHH@mgg@@HpkqmgmqHpfbWgqpbpkkHppWH@@@mHMH@gH@@@HHHM@@@H@@HH@H@@@@HH@@H@gHwz~.``` `
    `      `        `` _(zuuuXubWWHpkWg@@@HMH@@@@@@@HMHppWXWHMHpbVWWmgg@HWyH@H@H@g@@Hkqmm@ggHkfbHgHpkkHHHbWWH@@Mm@MHgHHHMM@H@@@@@H@HH@HHMM@MHH@@@@gHOI_.``
      `      `  `  ` `._<zuuZvXpVbppbW@@@@HM@@H@@@@M@HqppWWW@MmbbkXkHggg@HkH@H@@@@@H@Hmgg@M@gkWWm@HpmmkHkpWgH@@HH@g@HHM@MHHM@H@@@@@H@@@H@H@M@Hg@@@gWjI_.`` `
  `     `         ` ``._<zZuXvXppffpbHg@@@@@H@H@@@@HHHHbpWWH@HHHqHWWH@@H@HHWMHH@@@@@HMggg@@@gqpHg@mbgmkgHpWH@@Hg@@HHH@@MHHH@H@@@@HH@MH@H@H@HHHH@@ggK(I_.` `
     `     `    `   ``._>dZuXwXpWVfpWqH@@MH@M@@H@@@H@HHkbWWH@pHHHHWWg@HgHgqWHH@H@@@HHMgg@@@@@qbH@@HqgmHgHbHM@@MHMHHMH@@HHH@HH@@HMHHMHH@@@g@HHMH@@gHK+I_``
             `     ```.(;wZXvwXfVVpbkHgg@H@HM@HHH@@@H@mqkWWH@HpHHqkWHHHg@HgHH@H@H@@H@H@g@@HH@mkH@@HqgmqgkkHH@HHH@HMM@@HHHMHM@@MHH@@MHMM@@@HHHMH@@HHR+z_```
  `   `  `      `   ``.(;wXwzXyVyyppHkHH@H@HH@HH@@@@@@mmqHXH@HbHggHpHg@HH@@HWM@HH@@@HHM@@@@HHgHH@HMmgmqHkHH@H@M@MHMH@@MHM@@H@@HHH@M@@HH@@@HHHMH@HHHS1z_.`
     `      `      ```_(>wwOzuXyXfWkpWH@H@HHg@HH@@@@@@ggmHXHgHfWHHmHWHHHHH@@HHMM@@@@HHH@H@HH@MHH@HMg@mHHqmMHHM@@H@@@@MHHH@@@@HH@@@@HHH@@@@HH@HH@HHH0=I.``
                   ```_(?wwzXXXWfpWWH@@@@@@HH@HHH@@@H@@gmHWHgHVyVWWHHWHHHfH@HWgHMH@@MHHMH@HHH@MH@HHg@mgqmHHH@HHH@H@@MHHMH@@@@@H@@@@HH@@@@HHHMH@@HmH0(v..`
  `    `  `    `  ` ``~(1ttwwXVffWWH@@@@@@@HHHHH@@@@H@@gmqWHHHyyZyWWWWWHkWZWgHWHWMH@@HHH@H@HHH@@@HHg@@gmgMHHHHM@HMHM@@Mmg@@@@@@@@HHH@@@@HHH@MH@MWkWZ(>_``
    `       `      ``._(zwuZXXWWgH@@@@MHH@M@@gHHHH@H@H@@gmkWMHyZZZZuuXXyWZuZWHHWZW@gH@HHH@HHHHHM@HH@@@H@@HH@HMM@MHM@MHqHHggg@@MHMMHMMH@@HH@@@@@HkfSIz<_``
        `          `` _+dWyWbkHH@@MMM9V1dH@@MgMHHHHMH@@@gqkk@WyyZuuuuzzXXwrwXWWWXXWgmHMH@HHH@HH@@HH@H@@@MHHH@H@@HHHHkHUWmmHggHH@HHH@@M@@H@@@@@MHHWu1v<.``
   `   `     `  ` ```-(?OXkWg@@H@MMHkr(>wH@@@H@HH@HH@HMggqqqHHyXXXXVWpffVVfyyZZZXXUWqqHM@@@HHH@H@HHH@H@@H@H@@HMHHHUU0OdWWqmHmW@@HH@M@g@HHMHH@@NWWXZ+<~.`
           `       ``-(1wZWHHHHHHWWWmN(<OHH@@HHMHH@HHH@HmmHbHfWWWkHHWHHWWVTWWWfffkXvUkqkHM@HH@HHHHHHH@HHHH@HMMHHUXrtzOwWkHWWkH@@HMMHH@HHM@MH@@HWXXZ1<~.``
    `            ` `` ~(zXXXKXXbWWWHg@R<zHH@HNWHHHHHHg@@HqqpWHWpVW0z1zvZOwwXVXXXUWf0UXHkWWH@@HH@H@HHHH@MMM@HH9Ozz=zzIOUXZZXpHmH@MHH@H@H@@HH@HHmHWZrz<_.`
      `  `   `     `` ~:z0dXWXWWqqHmg@HyzHHMMHXgMH@HHM@@HgmbHHwUWyk<<<XXOOOOttOC+zO0>~?UHkWHM@@@MHHH@M@M@MqkbkkHHWpkAyrXyXWWWH@HHH@@HH@MHH@HMHgkWSzz<_``
  `     `         ` `.~~1OXfWXHHmHHWg@@HwHHH@HNHHH@HHM@@@HgkbkZzzVUX+_?Ouwzzwv>__~_<_.._?UWXWHHM@@MH@MHgHHbpVWY4fVWXkkXXZZXWHHHWmH@@H@@@HH@H@@gHHXI1~.```
     `      `  `   ```__<zXVXWHgHHHWgH@@NHHHMHWW@@@HH@@H@@HHWWk<;<~~<<<_..._.`   ..`.```-JwUXWWWHgHHMHHWW0zZuzuuXzXX0VWHWVWWkWWH@@@H@@MHHHH@M@HgbkXc<_```
      `             ``-_;zXWkHHHqHHWH@H@@@@HMHWHH@HHHH@@mH@HHkS<<~~...```````````````` __(XktZXyXWWMgHz<<1zXuwOOOvwVz>1XfppkHpHHHHM@@MHHHH@@HM@gHbk0<__````
  `     `  `     `  `` _:jXWkWHMqHNWggHHH@@MM@qWM@H@HHg@mHHHWHHA+-_..``````` ```````` _(+dV~. (zOOXWH0<`` _<?1COZTC<;<JXpbWVWWggHHW@HHHHHMH@g@MHmHWwI___```
    `          `    ```_:jwWWHH@WHMXH@MH@HH@#@HHWMHHHHHggmHHUUXVUWkA+-..``  ` `````` -+wX6!``` <(vzUVz-_```..._~~<+zwVUUWWyXXHHHHHmHMMH@H@H@mHHHHqHkwo-__.```
       `    `       ```_:jdXHHMMmH@HH@@H@HH@MH@gHHMH#HHggmHHVOz<<__??TTUXkwA&&&&&uwwXXY=` ``` `_`(~v<dk-`````....~~:;?zwXuXXHWHWH@MHHH@HHHMMgHWWHkkHyOc<~..````
   `    `         `  ``__+dXHH@MgHMHqMHMM@H@MMM@gHMH#MNg@mHfkz<:~..`````````` `````.``````````  `._<._4k&- ```...~~:;+OOwXWWHWpWHMH@HH@HH@H@mHWwZXUWWz?>_.`````
     `     `   `    ```__+dXkHMMgHHHHH@MNMMHM#MggHMMH#NH@mqV0z>:~..```  `  `` ````````````````` ` _ ``._7Wk&......~:;?zOXXWWWWHMMH@@@@MHM@@gmWSv<?1v4k<___.`````
                     ``_:+wXkmMMHHMMHWH@MMMHNMH@@MH@#HNH@mmykz<:~..``` `         ````````````` `````````` _?TWWkA&+++xzuXXWQWH@@H@MHHMHH@@MgHXZ<<~__<<<<_` ``` `
  `  ` ` `  `    `  `` _:<wWHg@MHHHMNHWHMMMHHHMH@@NHM#M@HmmXkO<:_..```  `    ` ` ` ```.....``` ``.```  ``````` _~?7TTTUUUWHWH@HMHgg@HHHMg@MgRWI<~_ ````` ``````
               `     ` _:+wWqg@MHHmMMHVWHHMMHMMMHH@HMH@HMqmWkOz<:~.````  ` `  ` ``````.~~~..`` `..`` `   ``````...~~::;+zvwWMMMHmmHHHM@MHHHHS0<~_ ````````` ` ``
   `  `   `       `  ``_:+dWqH@MHHHMHMkVWMHNNMHHHHHNMMHH@HHXSOz<:~..````  ` `  `` ```.._:<___ ` ..``` ``  ````...~~~::<zrwXMHMHmqHHHMMMqg@@HuI<_ ``   `   `  `
       `    `      ````_:+dWHHHHMqHHH@MkfHHMNNMMHHHMMMH@@HHXSwO<<~~..```` ` `` ``````..._~<:__~_..`` `` ``````...~~~:<+tOdMMMHHHMH#HHHHmHgMWZ<~.``
   `           `     ` _:?dWmHH@HHHHMM@MHpHHMNNNMHHHMM@@@HHHXwOz<<_~.``````` ````````....~~~::~__```` ````````....~:(+=1dMHMHHHM#MMHHMHgHHNSI<_ `  ` `
     `  `  `         ` _<+dWggq@H@@MHM@HNHpHMMNNNHHMNMM@@MWMHOllz<<_...````````````........~___`````` ``````.....~~(+=1dMHMHqHM#MMMMMgMHmHHV<~.``
             `   `  ```_<+wWH@W@HMHMHMHMMHkpH@MNNMMMMHM@@MMM@Hy?=?<<_~.`````._(-----.........```````````````....~_(+?jdMHMqHMM#M@MM@g@gHHMSI<_.``
  `  `  `           ```_<1zWH@HHHWMgMgMHHHHHbHHMNNNMHM@@@HHMHHHA<<><<_....`..__<?1++++-_____-_-...````````.....~_(>+dHMMHHHM##M@MM@MH@gHHHw<~.`` `
           `         ` _(zOWH@HH@HHHM@@@HMHHqWH@MNMM@@@@HHHHpfHHkx<;;_~~...`.....__~<?7T0ws&&++---+!.``.`....~_(;;jdMMMHqHM##M@MMHHH@Hm@HHC<_.``
   `  `      `  `  ` ``_(ztWH@@WHHqMHM@HHHMHggHHMMMHH@HH@HMHWZWWWHA<<::~~...`.`......__~:::<<<<<~..........~~~::+dM#HMgHM##MMMMMMHM@HqHHH0z<~.``` `
     `  `           ```_(zwXH@@HH@qWMHHH@@HHH@gg@MN@HH@HHHMHSuuXXyWWo_~~~~....``...__((-_:~:___..........~~~:~(dMMMM@gHM##HMMM#MHM@HHgHHWI<~..``
  `        `     `  ```_(zXXWHHMqHHHMMH@HHHHHHHg@gMHM@HHM@MHkuvrwuuuXW&__~~....````..._~<<<<~_..........~~_-JdMHMMH@@@M###MMMMHMMHMHHHHW0v<_.```   `
    `  `     `      ```_(zXyWHMMHgMmW@HHMHHH@Hmgg@HMHMH@@MMHWXrttwvvzuXW&.__....``````.`.............~~~_(gHMHHMMH@@HM#N#MMM##NH@MHHMWfSI<:~.``` `
        `         `  ` _<zwpbg@HHm@MHHMMMM#HH@HH@@@@MH@HHMHHHXwtllOrrvvzXU&.`....```````````......~~.-(dWHHMHM#M@@gHM#NN#M###N#MMHHMHHWZz;~..``
  `  `    `    `   ``` _<zXWWH@HMggHHHHMM@M#HH@M@@@@HHHMHH#MHHXOlllOrrrrrzuXk..```````````......~~-(dXWHgMHHMNMHggHH#NNMH#MMN#MMH@MgHHSI<:~..``
    `       `    `  ``-_+OXWHg@MHHg@MMH@MMHM#HHH@@@HHHHHHMHMM@HkOlllOttttrrvvzXn..````.......~~(JwXyWHgH@HMH#MHH@HHMNNMHN#MM#MM@@H@HmH0z>;~~.``  `
       `          ````.(+dWWHH@HHMqH@@HHgMM###H@H@H@H#H#HH#@MMHHkOtlllttttttrvvrrZX&-.....--(xwzuuZWHmg@MMH#MMH@@@MNMMMNMMM#MHMMHHHHHWwz<<~~.``             `
  `  `  `  `   `   ```_(zXqHH@HgHHNWHH@Hm@@MNN#HHH@@MH#####M@HMHHHyllzltttttttrrrrtlllOOOOtltlttwXXHqkg@HN#MMm@@MMNMNNNMMN#MMHHHWWWWHWXOz<:~.```
              ` `````._+wWm@HMqHMHHHHgMHH@@@MNNNN#MH@MH##H#HMHHHHbWWAzlllllttlltttlllllllltlllOwXHHHHkg@M##M@@@HMMMNNMMMNNMMHMqkppfVVXvOz+<~..```
   `  `    `     ``` _(jwWH@HMq@HMHMHHHMHM@H@MN#NNNMH@H#MHN###HHMkbWXWkyttlllllllllllllltttrrwXHWWHgbkHHMHMH@@@MNMMMMMMMNMHHqqHHppWyVWXOz<<_~.-`` `
       `     ` ```` _(+zXqH@HMH@g@HHHHqHMMMH@@M###NMHHHHHMN####H@NkWyyXXWWAyOll==l=lllltrrwwXHfWbkgmkqgMHHM@@HMNMMMMMNN#MHqqqHyXXXuuZZuuXw+;<_..``
   `    `  `  ` ```__<zwWH@HHM@@H@HH@HHHH@#MHM@HHMNN#HHMM#N#H#NM@@HHVyZyyyyyWVkAyzlllOwwXXffVfpbbHgqkHHMMHMHHMNNMMMMNMMMqHHHWWyXZXwwzzzzvvrz<:_.``
    `     `  ` ```._(+wXqHMHHHM@HMHHgMHHgHMHH#M@H#N#HHHMMMNN#M#NNHMqkyyZZyVVyyyyyyyykwXpfVVffppbkgqqkHH#HHHH@MNMNNMMMMMHWWpfffSZuuvrtOtrrtttO<__-```
     `  `  ` ````._(+zXWHMMM@@HHMHMM@HMMqHHMHHHMM##MHM@HHHNN##HMMH@gHyyyyyyfffyyyyZZyfVyVVVfpppbkmqqHMMHHMH@HMN#NNMMMMkbpppffSZZuXrtttlzOltllz<~_.```   `
  `       ` ````.~_+zwWHHHM@MmHHHgkHHHHHmg@@HHHHM###MH@@HM#N#H#NNMM@HWyyyyyWfVVyyyyVWbHyVpbbbkkkkkkkWgHHHHHHMNMNNMM@MbpppffVWyZuXvrtll==?=llll=<~_````
      `  ` ````.~_(+OXpHH@HHHWHHHHWWWWWWWgH@HH@HMHH#MH@HHHH#HHMNNHHM@HVVyyyyfppfVVVfkHHVXpbkkkkkkkqkHHH@#HHHNNMNMMMHXVppffWXyyZuuvrtll=z+?1z=l=?_._```   `
    `   ` ```..~_(+OwyWWWWHWpHHW0CzOUvXyWqHg@H@HMMH#HMHHMMM#HHMNNH@MHHWVVVVVyWpfffpWbVfVVpbkkkkkkkkqHMMHHHHHNNNMMNHUXyffWWyyyyZuuzrttll=1?>+?+=?<_.`````
         ```..~_++zwXX0wUUUUUXXwwz+<OXXyyfpHMHHHHHMHHMHH@MMM#HMNNHMMHHWyVVVyyyWfpfpkWyVppbkkkkkkkkkqHMMM#HHM#NMMMHSzXZWWXyyyZyZZuuvrttl=?>;>?>??><.-```   `
  `  `  ````.~(;>1zOzz111<<<??1=zttz+zUWVWpfH@MHHMHMHH@@@@HH#HMNN#MMMMHyVVyyZZZWfppbWyyWkkbbkkkkkkkqH#MM##H##NMMMHXuZwXVyyyZZZZZuuzvrll=??<+>>>?>>_.```` `   `
     ``````.__(<;:;;;;>>>>???===lltrrrtXWWWpHH@MHMMM##M@@@MH#HMNMNMMMMHVyyyZZuuZWpbWyyXXWkkkbbkkkkbkHMMMNN##NNHMHRjwXXyyyZZZZZZZuuuzrtll=?>>>>>?<;<.````
  `` ``` .-_(:::;;;;>>>>>1===l=lllttrwwwV0HHWg@@HHMMMMH@H@MH##M#MNMM@MHVyyZZuuuuuWpVy0rXXbkkkkbbbpWkHHMMNNNNN#MNWWzrwwZZyZZZZZuZZuuurrtll???>>>>?<;_.`` `
````` .__::::::;;>>?>;+=====llllttttrwXkXkZHmgM@MHHMHMM@@@H##MH#MNMHMHHWyZZuuuuuuWfy0rtrXWkkkkkkppWqHHH#MN#N#HHNSWIzOzXZZyZuuZuZZuuzrrwvt=1+>;;>>>:~.``` `
``` -_~:~::::;>>??????====lllllllltttvXWXZXwWHMMHHHMHMNg@MMHHM##MNNNHHWWZZuuuuuuXfVXvOzOtdbbkkkppfWkHMHMNN##HM@MkWkzzwwXuZyuZyyXuuuuzzuwtltz>>;;>>;__```` `
...~~~~::::;;>>>???=====ll=lll=llOttrrzXfkdWXWgMH@@HHHHM@H@HMM##MMNMMHWHkXuuuuuZXVXwtvz+zOXpWkbpWypWuWHM#NH#MM@MHRuO?zuvuuZXZyyyZuZuzZuZtrrl?>;;;>;<_.`` `
.~~~~~::::;;;;;>>?====ll=ll==zOtrrrrrrvXyVkXWWHHMHH@MMH@@HH@HM#MMNNNHWbkfVyyZuuZVXVlz?>;<<+ZyWbWyWUzZXHMHMHH#M@@HHWOz+wuwuZyZZyyZZZuuZZXrrwl?>>:;;><_.```` `
~.~~~:::::::;;>+?=====l=lllltrtrrrrvzzuuXVWXuWWmHMHMHHNH@H@@MH#MHNMMWWkHfyyZZZuXXZz=>>;:::;;wZUXXzZttOXM@MMHHHMMMKXZO;+XXZuZyZXyZuZuXyZXzwwO=>>;:;;;_._``` `
.~~~~::::;;>>??=====lllllttttrtrrvvvzzzzXyVWwXWWmgHMHH#MHHH@MMHMNNMM0XWHWVVyyZuX0I?>>;;:;::;+OVvOltttOwMMMMHHHHMNHkXOz<zuXXXyyZyZZZuXyZZuuvZ=?>;;;;;:_.```` `
~~~~:~::;;>???=====llllttttttrvrvrvzuuzzuyyyuOXWWHgmHMHHMHMMM@HM#HMHOw0zzOOZwXVI1>?>;::::;;;;;;;>+1zlzzXMMMMHMMHHMHWkz1<OuXWpVyZuZZZyyZZZXXwl=>;;;;>:_..```  `
~~~~~::;;>>??=====lllttttttrrrvvvvvzuzuuuZyZkXwZWWqmggMHHMM@@@MM#HMSzZ<<~:<?1<<<<::<<;::::;:;;;;;;<>>>+zWMMMHHMMHM@HWkz<+wuXpVyZuZZyyyyZyXZrl=?>;;;;:_..``` `
~~~:::;;>>??=====lltttttttrrrrvrvvzzzuuuuZyyZuvXOvWHg@gMHMM@@M#MHMMk0>...__.~~_<:_._~~::::::::::::::;;<+dWMHM##MH@@@Hk0o1zuXWWZZZZZyVVyyWyXrt=?>;;;;;:~.```` `
~~:::;;>>???=?==ltttttttrrrrrvvvvzzzuzuuuZyZykzwwlz4HHHMHMH@H#MMHMMHx~_```````` __..~~_::::::::::::;:;<(+wUMNMMMHMMHHHkZOzOXXyyZuZZWVWpVyy0Ol=?>;;;;;:_..``` ``
~:::;;>>???===llltttrttrrrrrvvrvzzzuuuuZZZyyyWurwOtwWHMHHMHHHHMMHMHHzo<.``````.....~~~::::::::::::::;;;<<1vWMMMMHHM@HHgHwZI1wZyuZZZWVWkfyWuwl=?>>>;;;<~..`` `
::::;;>????==l=ltttrtrrrrrrvvvvzuuzuuuuuZyZyVyZXrwvwWqH@@H#HH@MMHMMHHXX+-```.....~~~_(:::::::::::;;:;;>>><1zUHMMMHM@@gHHHkwkwuZuZZZXVWHWWSurtl=?>;<:;;_..```` `
:::;;>????==l=ltttrtrrrrrrvrvzzuzzuuuuuZZZyyVVVXwttwWHH@HMHMgH@MHHHHWHHko-....___:::;;;;;::;:;:;::::::;>?1<+=wWMMNMH@@HHHHkWkXuuuZZXVWkHVuuvtl=?>>::;;:_.``` ` `
::;;>???===l=llttrtrrrrrvvvzzzuzuuuuuuuZZyyVVVfWXOttdH@MMMHH@H@M@HHMHHHMHs-___:;;;;;>;;;;;;;;;>;;;;;;;>>?=lz+zZWWMMMM@HHHHMHWwwuuZZXVWbpWZuvtl=?>><<~<:~_`````
:;;>???==llllltttrrrrrrvzzzzzzuzuuuuuuZZZZyVVffpWXtlOWH@mHMMH@@MM#MHMHHHHNn<:;;;>>>>>>>>>>?>>>>?>??????=zltrvwOOXWHMNMHMMgHHHkOuuuZyfWbpWZuwtl=?>>;~~~_:_```` `
;>>>???==lllllttrttrrrvzzzuzuuzuuzzuuuZZZZZVffpbWXwtlUHHHgHHHHMHHMMHHH@MH@Hy<;;>>>>>>????=?=======l=llllllttrwXXQQWMMMMHM@H@HHzwuuZZWfpWWZkrtl=?>;<:~~~~_.```` `
>>>???==lll=lttrtrrrrrvzzuzzuzuuzuuuzuuuZZZXfppkHyXrtwWHmHMHMM@HM@@M#MHHMHHHo;>;;;>+===llllllllllllllzzOOrzwXWbkHmHHWWMM#M@H@HkXZuuZyfffWykrtl=?;::~~~~.~_`````
>>???===llllttrrrrrrrvzzzzzzuzzuuuuzzzzuuuuZWfpkHfZwrtuXWqM@HM@HHM@@M#HHHM@HHz++1=llllllzzOwwwwwwwwXXXXXXXWffffffWUuuZWHMHMMMmWRXZuuZWpfVVXOtz??<::~~~..._```` `
>>???==l=llltrttrrrrvvzzzzzzzzzvvzzzzzzuuzzuXVfWHkZZwtwXXWHHMHMHHHM@@MHM#HHNmZllzwAwwkkkXWffffVyyyyyyVVWWyVyyVyU0wrzuZZWHMHH@NHWwuuZZZWVyVSXOzz<::~_~..~._.````
>>???===lllltttrrrrrvvvzzzzzzzvvrrvvvvvvvzzzXyyfHkWZuOlwuwUWg@HH@MMMHM#MM#MHMHWpfWUUUZyyUUUUXXUXZZUUuuXyyyyyXUXOtrrvvuuZWWMHMNmXuzuuuuXyXZSztl<;::~~~~~...``````
>>???====lllttrrtrrrvvvvzzzzzzvvOtrvvvvvvzzzzXyyfppWXXXXwzXXWMHHMMNN#HMNMNNMMWW0zzzzzXZrtrrrwwwzzzzzXXyZZUXvwOttttrrrrwzXyHMNMHkXzvzuzuXZXuvtv?;::~~~~.....````
>????====llltttrrtrrrrrrrvvvzvrrvrvrrrrrvvvvvzZZVffpppWWXuwwXWMNNMMHHMM#HN#MNXXvrvvrrttttttttttrrrwXu00ZrrOttlltttttttttzXWMMMHRvvrrzvvzXuzrtz><~_~~.~~...``````
>>????===lllttttrtttttttttllttttrrrrrrrrrrrvrvXZyyVVWfXuuuXyfpHHMMMHMMM#H#MMHSXwOtttrtttltlltlllllOtltltltllllllllltltOwzuXHHHHSrrrrrrtrvXzrtl?;_..~.~.....``` `
;>>????===lttttttttttlttlllllltlttlttttttrrrrrwZZyyZXXuuuZyWWWUWWHHMN##HH#MMkzztllltttlllllltttlttlttllll=ll=lllllzOrrrrvXXWWWWSrtttttltrrwrtz<<<~.~~~....````
;;>>?????==ltttltllllllllllllllllllttttttttttrzuuZZZuuuzzzzXXwrzXHWHMN#H@MMWHXOOl=llllllllttllllllll=l=======zzttrtrOOtttrXXVwWZttlllllllttOOz_~~~~~~....````` `
;;>>>????=llllllllllll===llllllllltlllllllttttzzuuuuzzzvvvrttrXuXHKWHM#MMMHNWkOlI===lllllll==============llttttlvz1??=llllOZOd0OllllllllllllOl<_~~~.....`````
;;;>>>????=====lll======?=ll=lllllllllltlllltrvzzuuvvvvrrrtrttrrwUWWHHHMHH@gHWwtv?==lll==============lllllllz1<>>>>?====z=111Ollllltlll===llll<:~~.....`````  `
;;;;;>>>???============?????=llllz====lllllttrrvvzvrrrttttttttrtlOdgMHMMMH@@@HkOI===?????????=??=?======1<<<;;;;;>????????>>>?==llllll=======??<~~...```````
;:;;:;>>>????==========1????====lll==ll=lllttrrrvrrttttttlllttl==zrXHqH@gMM@gHWVI??>????????????????>>>>;;;:;;:;>>>?>???>;;;>>?=lllll========?><~...``````` `
:::;;;>>>>>??????===============l==l====llttttttrtttlllllllll==lllOrXHgg@HHHqHSOl?>>>>>>>>>>>?>>>;;;;;;::;:::;;;>>>;>>>;:;;;;>?=============??>;_..``````` `
:::;;;;;>>>?????????????=?===========zlllttttttttlllll==ll====l===zXWHg@@HgHW0Ol=>;>>;;>>>>><<;;;::::::::;:;;:;;:::;;;:::::::>???========?==??>;~..`````````
~::::;;;>>>>>>??????=?=??=??=====zlltlllllllllllll================zXXWmH@HWk0ll=?<;;:;:;;;;<::::::::::::;::::::::::::::::::;:>>???===========?>;~..````````
**/
#include <bits/stdc++.h>
using namespace std;

int main () {
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  string s, t; cin >> s >> t;
  int res = 0;
  for (int i = 0; i < 3; i++) {
  	if (s[i] == t[i]) res++;
  }
  cout << res << endl;
  return 0;
}

Measured memory_bytes: 256