JezK
Edit File: autorules.0dabe0e538e8c0f11b1d11fe6a2560679ef85f230b71b3552d873eb5fbcea8d3.srule
D �Ǟ � � K � w � � � � � � � � � j � C uuuuL|EL8 ]" ]" P��R��R��r��r�O�O�O�O�O�N�N�Nʹ^Oe_Oe_Oe wTWvTWvT���E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E��E���E��E��E��A��A��A��A��s�E�E�E�E�E�o�S�S�n�b��b��b��b��b�U�N��N���E��E��E��E��E��E��E��E��E��E���dffbbcccDsss&1'~N(~V3yK> 99|~wud`e$[djIfhM}uDihExxBusB~xEfcAg`Kk~PktZkD{*'%(*';649;649;649;649;649;649;6*9%6*9%6*9%6*9%6*9%6*9%6*9%6*,%# *,%#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,0#?,%6*9%6*,%# *,%# *,%# *,%# *,%# *,%# *,%# *,;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;= 42;=!2;(4';(4';(4';(4';(4'=.2!=.2'=(2'=(2'=(2'=(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4';(4'=.2!=.4';(4';(4';(4';(4';(4';(4';(4!=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2';.4!=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(2'=(Nj<J<J<JViJViJViJViJViJViJViJViJViJViJViJyyy,~~~QiiiiJyyy,��*�*��:Ә$ɘ$ɘb��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��