JezK
Edit File: autorules.8dfe0c6bc90b3b277a395fbdd881c84b7de75166469a713bf270cb308b9d5433.srule
ć ���& � � K � w � � � � � � � � � j � C uuuuL|EL�ܯܯ�ݑ;ߑ;��AH~CH~CsCEsCEsCM{CM{CM{BL{BL{BL9R��S��S��<X<X<���J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J��J���"��"��"��&��&��&��&���J��J��J��J��J��4��4�� �m��m��m��m��m�=�)��)��a�J��J��J��J��J��J��J��J��J��J��xxy y y x x xKk k k A>@dq)@q1[v,V/~Q6wquzbos +<e.g*z#g w!y!w'a- `-x6r<B~xxxJ!bE.mJ!b[0mT?b[0mT?b[0mT?b[0mT?b[0mT?b[0mT?b[0sJ?|E0sJ?|E0sJ?|E0sJ?|E0sJ?|E0sJ?|E0sJ?|E0sJ*iE%fJ*iE%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|P%s_*|E0sJ?|E0sJ*iE%fJ*iE%fJ*iE%fJ*iE%fJ*iE%fJ*iE%fJ*iE%fJ*i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT2o[=`T2o];fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;fT4i[;`R2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR2i]=fR'|](fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iN.fA!iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(fG'iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(sR2iH(s.jc\Jc\Jc\J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 J6 JttttLddd1 c c c Jt|||L���*��*��:3��$��$��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b�