JezK
Edit File: autorules.60993c439cabd3197055735768b43dc2099ee69594fca41b0cf6db2bbf3ce1a0.srule
^< �0T � � K � w � � � � � � � � � j � C uuuuL|EL"'|.'|.''\��^��^���_��_��b��b��b�b�b�c�c�c�snirnirni'�z�z��xghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzghzgh}I��K��K��K��O��O��O��O��ThKVhKVhKVhKVhK���z��z��nOVlOVlOVlOVlOV���@��@��!h>#h>#h>#h>#h>#h>#h>#h>#h>#h>#��.�.�+�+�+�+�+�i��(��(��(����SʁSҚTϗ ����S��X��M�� ��G��E��X��E��U��^��Q��F��L��_��U��e��5��5��5���� ���������������������������������������������������������� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� �������� ���� ���� ���� ���� ���� ���� ���� �������������������������������������������������������������������������������������� ���� ���� ���� ���� ������ ������ ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ������ ������ ���� ���� ���� ������ ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ���� ����M��m��m��m�m�m�m�m�m�m�m�m�m�m�m��?��?��?��(��(��(��(�8��8��8��m��7��7��7���c a a[��$��$��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b��b