女家宣言して五十分以内に女家AAに断られなかったら糸吉女昏
注01:宣言したキャラと同名のものがある場合、その名前に該当するもの全てがお断り対象になります
他のキャラや改変AAからの阻止を回避したい方は、宣言時に作品名や改変の可否なども書いてください
注02:お断りする人はそのキャラの口調や設定を熟知してるとは限らないので
忠実に再現できなくても怒らないでください
注03:一度に複数人宣言したい人は阻止する人が大変なのでせめて二人までにしてください
あと、宣言を訂正するのはいいとしても、まだ断られてないのに他の人を宣言は…ね
注04:前スレが容量オーバーにて書き込めなくなった場合、お断り前の宣言があっても
一旦リセットとし、新スレにて再度宣言をお願いします
また、その場合は前スレで通った宣言もリセットになります
注05:宣言ははっきりとお願いします、名前だけはNGです ex.〇〇は俺の嫁
この場合は宣言後に所定の時間が過ぎても通ったことにはなりません
注06:sage進行でお願いします
注07:阻止人、宣言人共に無理や無茶は止めてください。 自分も大切にしてください
注08:次スレは470KB後半〜480KBくらいに、スレタイはなるべく嫁スレとわかりやすいものにしてください
成立時間の目安:18時〜0 時 30分、0時〜18時 50分
(※あくまでも目安ですので、阻止人の数等も考慮してください
注09:阻止人の負担になるので、したらば・避難所とのマルチ宣言は絶対にやめてください
2 :
以下、名無しにかわりましてVIPがお送りします:2011/07/20(水) 19:30:59.80 ID:/c/1sBTS0
ルナサ・プリズムリバーは俺の嫁
戦場ヶ原は俺の嫁! 絶対に!!
4 :
以下、名無しにかわりましてVIPがお送りします:2011/07/20(水) 19:31:36.42 ID:+e74lx3O0
キノは俺の嫁
5 :
以下、名無しにかわりましてVIPがお送りします:2011/07/20(水) 19:32:24.85 ID:/c/1sBTS0
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
56 :
以下、名無しにかわりましてVIPがお送りします:2011/07/20(水) 19:33:03.02 ID:+e74lx3O0
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::
`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::`::::