+
+
+
=
+
=
+
+
+
=
+
=
+
+
+
+
=
+
+
+
=
+
+
=
+
=
+
=
+
+
+
+
+
=
+
=
+
=
+
=
+
+
+
+
+
+
=
=
=
=
=
=
=
=
=
=
=
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
+
=
+
=
+
=
+
=
*
*
+
*
+
*
+
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
+
%
+
=
=
+
+
=
+
=
+
=
=
=
+
=
=
=
=
=
+
=
=
+
=
+
=
=
=
+
=
+
=
+
=
=
=
=
+
=
=
+
=
=
+
=
+
=
=
=
+
=
+
=
+
+
+
+
=
+
=
+
=
=
+
+
+
=
=
=
=
=
=
=
+
=
+
=
=
+
=
=
=
+
=
+
=
+
=
=
=
=
+
=
+
+
=
=
+
=
+
=
=
=
=
+
+
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
-
=
-
-
=
-
=
-
=
-
-
-
-
=
=
=
=
+
%
=
+
=
=
+
=
+
=
=
+
=
=
=
=
=
=
=
=
+
=
+
=
+
=
+
=
=
+
=
+
+
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
-
=
-
-
=
-
=
-
-
=
-
-
=
=
=
=
%
+
=
+
=
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
+
+
+
=
+
+
+
=
=
+
=
=
+
+
+
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
-
=
=
-
=
-
-
=
-
-
-
-
=
=
=
-
=
=
-
=
-
-
-
=
@
+
=
+
=
+
=
+
=
=
=
+
=
=
+
=
=
=
=
=
+
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
+
=
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
-
=
-
=
=
-
=
=
-
=
=
-
=
-
-
-
-
-
-
-
-
=
=
=
=
=
#
%
+
=
=
=
=
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
+
=
=
+
=
+
=
+
=
+
=
+
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
=
-
-
-
=
-
=
-
=
-
-
-
=
=
-
=
-
=
=
=
-
=
-
=
-
*
%
%
=
+
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
=
+
=
=
=
=
-
=
=
=
=
=
-
=
=
-
=
=
=
-
=
-
=
-
-
=
-
-
=
-
-
=
-
=
-
=
*
@
#
+
=
=
=
+
=
+
=
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
=
+
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
-
=
-
-
-
=
-
-
-
-
-
=
=
-
-
-
-
=
-
=
-
=
-
=
=
-
+
#
+
=
=
=
=
=
+
=
+
=
+
=
=
=
=
+
=
=
=
+
=
=
=
+
=
=
+
=
=
=
=
=
+
=
+
=
=
+
=
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
-
=
-
-
=
=
=
=
=
=
-
=
-
-
=
=
-
=
=
=
-
=
-
=
=
-
-
=
-
=
-
=
-
-
=
#
#
=
+
=
+
=
+
+
=
=
=
=
+
=
=
+
=
=
=
=
+
+
=
=
=
+
=
=
=
=
+
=
+
+
=
+
=
=
=
+
=
+
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
-
=
-
=
-
=
=
=
=
-
-
-
=
-
-
-
-
=
-
-
=
=
-
=
-
=
-
=
-
-
=
#
%
+
=
=
+
=
=
=
=
+
=
=
=
+
=
=
=
+
=
+
=
=
=
=
=
=
=
+
+
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
+
+
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
+
=
=
=
=
-
=
=
-
=
=
=
-
=
-
=
-
=
-
-
-
-
-
-
-
=
-
-
=
-
-
=
-
-
-
=
=
-
#
%
=
+
+
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
+
+
=
+
=
=
=
=
+
+
+
+
+
=
+
+
=
+
=
=
+
=
=
=
=
=
=
=
=
+
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
=
-
=
=
-
-
-
=
-
=
=
-
-
-
-
-
-
=
-
-
=
-
-
-
-
=
-
-
*
#
#
=
+
=
+
+
=
=
=
=
+
+
+
+
+
=
=
=
=
=
=
=
+
=
+
=
+
+
+
=
+
+
=
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
=
-
-
=
=
=
-
-
-
-
=
=
-
=
=
-
-
-
=
-
-
-
=
-
-
-
#
+
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
+
=
=
+
+
=
+
+
=
+
=
+
+
=
+
=
=
=
=
+
=
+
+
+
+
+
+
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
=
-
-
=
=
-
=
-
=
-
=
=
=
-
=
-
-
-
=
=
=
-
=
=
-
-
=
=
-
-
=
-
=
-
=
=
=
*
*
#
=
=
=
=
=
+
=
=
=
=
+
=
=
+
=
=
=
=
-
+
=
-
=
=
-
=
=
-
+
=
=
=
+
=
=
=
+
=
+
+
=
=
+
=
=
=
=
+
=
+
=
=
=
+
=
=
=
=
=
=
=
+
=
-
=
=
+
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
=
-
=
-
=
=
=
-
-
-
-
-
-
=
=
=
-
-
=
-
=
-
-
-
=
-
=
-
=
-
=
-
=
=
-
#
#
*
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
=
+
+
=
=
+
=
=
+
=
=
=
=
=
=
+
+
=
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
=
=
=
-
=
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
-
-
-
-
=
-
=
=
=
=
=
=
-
-
=
-
=
-
-
-
=
-
-
-
-
=
-
-
-
-
-
-
=
%
*
+
=
=
=
=
-
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
+
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
+
=
+
=
=
=
=
=
=
+
+
=
=
-
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
-
=
=
=
-
=
-
=
-
-
=
-
*
-
-
-
-
-
-
-
=
-
-
-
-
=
=
=
=
-
=
=
=
=
=
=
-
=
#
=
-
=
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
-
=
=
=
=
=
=
=
+
=
=
=
+
=
=
+
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
-
=
-
=
-
-
=
-
-
-
=
-
=
-
=
-
-
*
=
=
-
-
-
-
=
-
-
-
-
-
-
=
-
=
=
-
-
-
-
-
+
#
*
#
=
=
+
-
=
-
-
-
=
-
=
-
+
-
=
=
-
-
=
=
=
=
=
=
-
=
-
=
-
-
=
-
=
=
=
=
-
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
=
=
=
=
-
=
=
-
=
=
-
=
-
-
=
*
#
-
=
-
-
=
-
-
-
-
-
=
-
-
=
-
=
=
-
=
=
-
-
=
#
%
#
#
+
-
=
=
-
=
=
=
-
=
=
=
-
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
-
=
=
-
=
=
-
-
-
=
=
=
=
-
-
=
=
-
-
=
-
-
=
-
-
=
=
#
-
-
-
=
-
=
=
=
=
=
-
=
-
-
=
-
=
-
-
-
-
#
#
#
=
=
+
-
=
-
=
-
-
=
+
=
=
=
=
=
=
=
=
+
=
=
-
=
-
=
=
=
+
=
=
=
=
-
=
-
=
=
=
=
-
-
-
+
=
=
=
=
=
+
=
=
=
=
=
=
-
=
=
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
-
=
-
-
=
=
=
-
=
-
-
-
-
-
=
-
-
-
-
-
#
+
=
=
=
=
-
=
-
=
-
-
=
-
-
=
-
-
=
-
-
-
=
=
-
-
*
#
%
=
=
-
=
+
=
=
=
-
=
=
=
=
+
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
-
=
=
-
=
=
=
=
=
=
-
=
-
-
=
-
=
=
-
-
-
=
-
=
-
=
-
-
-
=
-
=
=
#
%
-
=
-
=
-
=
=
=
-
-
=
-
=
-
-
-
=
=
-
+
#
#
=
+
=
+
=
=
-
-
=
=
=
-
+
=
=
=
+
=
=
=
+
=
=
+
=
+
=
+
=
+
=
+
=
=
+
-
=
=
=
=
-
-
=
=
=
=
-
=
=
+
+
=
=
-
=
=
=
-
=
=
=
+
=
-
-
=
-
-
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
-
=
=
-
=
-
=
-
=
=
=
-
-
-
-
-
=
-
=
-
-
-
=
%
#
#
+
-
=
-
-
=
=
=
-
-
-
=
-
=
-
=
-
-
=
-
=
=
-
-
-
#
%
*
*
#
=
+
=
-
=
=
=
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
+
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
=
-
=
-
-
=
-
=
-
=
-
-
-
-
=
-
-
-
%
#
#
+
-
-
=
-
-
-
=
-
-
-
=
=
-
=
-
=
-
-
-
=
-
*
*
%
*
#
=
=
=
=
=
-
=
-
=
=
=
+
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
+
=
=
=
=
+
+
=
=
=
=
+
=
=
=
+
=
=
=
-
=
=
=
=
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
-
=
-
-
=
=
-
-
=
-
-
-
-
-
=
-
-
-
=
=
-
=
-
-
=
-
%
*
*
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
+
*
#
#
*
#
+
+
-
=
=
=
=
+
=
+
=
=
+
=
=
+
=
+
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
-
=
-
=
=
-
=
=
-
=
-
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
-
=
-
-
=
=
-
=
-
=
=
-
-
=
-
-
=
-
-
-
*
%
#
*
#
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
=
-
=
%
#
*
#
#
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
+
+
+
=
+
=
+
+
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
-
=
=
=
=
=
=
+
=
=
+
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
-
=
-
-
-
-
-
-
-
-
=
-
=
-
=
=
-
-
-
=
=
=
-
-
-
-
=
*
%
#
#
*
=
=
-
-
-
-
-
-
-
-
-
:
-
=
-
-
-
-
=
-
=
=
*
#
#
@
+
=
+
+
=
=
=
+
=
=
+
=
+
=
=
+
=
+
=
+
=
+
=
+
+
=
+
=
+
=
+
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
-
=
=
=
-
=
=
=
-
-
=
-
-
-
-
-
-
=
-
=
-
-
-
=
-
-
-
-
-
=
#
*
*
+
+
=
=
-
-
-
-
-
-
-
-
:
-
-
-
=
-
-
-
+
#
*
%
%
+
=
+
=
+
=
+
=
=
=
+
=
=
+
=
+
=
=
=
=
=
+
=
+
=
+
=
+
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
+
=
=
+
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
-
-
=
=
-
-
=
-
-
=
-
=
-
=
-
-
-
-
=
-
=
-
=
=
-
=
-
+
+
=
+
+
-
-
-
=
-
-
-
-
-
-
-
:
=
-
-
-
-
-
-
-
-
-
#
#
%
#
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
+
=
+
+
=
+
=
=
+
=
=
+
+
=
=
+
=
+
=
+
+
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
=
+
-
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
-
=
-
-
=
-
=
-
-
-
-
-
-
=
=
-
=
-
-
=
-
-
-
-
=
=
-
*
=
*
-
=
-
-
-
-
-
-
-
-
-
=
-
-
=
-
-
-
-
=
-
#
*
%
%
+
=
+
=
=
=
=
+
+
=
+
=
+
=
+
=
=
=
=
+
=
+
+
=
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
+
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
-
-
=
-
-
-
=
-
-
-
-
=
-
-
=
-
-
-
=
-
=
-
-
-
-
=
-
-
-
=
-
*
+
+
=
+
=
-
:
-
-
-
-
:
-
=
-
-
=
=
-
=
-
-
:
:
-
-
#
#
%
%
+
=
+
=
=
+
=
=
=
=
=
+
=
+
=
=
=
+
=
+
=
+
+
=
=
+
=
=
+
=
=
=
=
#
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
-
-
-
=
-
-
=
-
-
=
-
=
-
=
-
=
-
=
-
=
=
-
-
-
-
-
=
-
-
-
-
-
-
#
*
=
+
+
+
=
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
:
-
-
-
-
-
#
%
%
+
+
=
=
=
=
=
=
=
=
=
+
=
+
+
+
+
=
+
=
+
=
=
=
=
+
=
=
+
=
=
+
=
*
=
=
=
=
=
=
+
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
+
-
=
=
=
=
-
=
=
-
=
=
=
-
-
-
-
-
-
=
-
-
-
=
-
=
-
-
-
-
=
-
-
-
=
-
-
-
-
-
-
=
-
-
-
=
-
-
-
-
-
-
=
=
+
+
=
=
-
:
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
=
=
-
-
-
*
%
%
%
+
=
+
+
=
=
=
+
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
+
=
+
+
=
+
=
=
+
=
+
=
*
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
:
-
#
+
+
+
+
=
-
-
-
-
-
-
-
-
-
:
-
-
-
-
-
-
-
=
-
%
#
%
#
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
+
=
=
=
+
%
*
+
=
=
=
=
+
=
+
+
=
=
+
=
=
=
=
=
=
=
-
=
+
=
=
-
=
=
-
=
+
=
=
=
-
=
-
=
-
=
=
=
=
=
-
=
=
=
=
=
=
+
=
=
=
=
=
=
=
-
-
=
-
-
=
-
-
-
:
-
-
-
-
-
=
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
#
*
%
%
=
-
-
-
:
-
-
-
-
-
-
=
-
-
=
-
=
-
-
-
-
-
-
%
%
#
%
+
=
+
=
=
=
+
+
=
=
=
=
+
=
=
=
+
=
=
=
=
+
+
=
=
+
+
=
=
=
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
-
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
-
#
%
*
+
=
-
-
-
-
:
-
-
-
-
-
-
-
-
=
-
-
=
=
=
=
+
%
#
#
=
=
=
+
=
=
+
=
=
=
=
+
=
+
+
=
=
+
=
+
=
+
=
#
=
=
+
=
=
=
+
=
+
=
=
*
=
=
=
-
=
=
+
=
-
=
=
-
=
=
=
=
=
+
=
=
=
=
=
-
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
-
=
=
=
=
-
-
-
=
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
=
-
=
=
-
-
-
-
-
-
:
-
-
-
-
#
+
-
+
+
+
-
-
-
-
-
-
-
-
=
-
=
=
-
-
=
*
*
=
-
=
-
*
#
%
#
#
+
=
=
=
+
+
+
=
+
=
=
=
+
=
+
=
=
+
=
+
+
=
+
=
=
+
=
+
=
-
=
-
+
*
-
=
-
=
-
-
=
=
+
-
-
-
-
-
-
-
=
-
=
-
=
=
=
-
=
=
-
=
-
=
=
=
-
=
=
-
=
-
=
-
=
-
-
=
-
-
=
-
=
-
-
=
=
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
:
-
-
-
-
*
+
+
+
=
+
+
=
-
:
-
-
:
-
-
-
-
=
-
=
-
=
-
+
-
=
-
=
*
%
%
%
%
=
+
=
=
=
+
+
=
+
+
+
+
+
=
+
=
+
+
=
=
+
+
+
=
=
=
+
=
=
=
=
=
+
*
=
=
=
=
-
-
-
*
-
-
-
-
-
-
-
-
-
=
=
=
=
=
=
-
-
=
-
=
=
=
-
=
=
-
=
=
=
-
=
=
=
-
=
=
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
=
-
-
=
-
-
-
-
=
-
-
-
-
-
-
-
:
#
+
+
+
*
+
+
=
-
-
-
:
-
.
:
:
-
:
-
-
-
=
#
+
-
=
=
=
*
%
#
%
#
=
=
=
=
=
=
+
=
=
+
=
+
=
=
+
=
=
+
+
#
+
=
+
*
*
+
+
+
=
+
=
+
#
-
=
=
-
=
-
-
=
-
+
=
-
-
-
-
-
-
-
=
-
=
-
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
+
+
*
*
=
-
-
:
-
-
-
-
-
:
-
:
-
:
*
=
=
=
*
#
%
%
%
#
+
=
=
=
=
=
=
+
=
+
=
+
+
+
=
+
+
=
*
*
*
#
%
+
=
=
#
#
*
#
*
=
=
=
+
*
=
-
=
=
#
#
-
=
=
-
-
-
=
-
-
=
=
=
=
=
=
-
-
-
=
=
-
-
=
=
-
=
-
=
=
-
-
-
=
=
+
-
=
=
=
=
=
=
=
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
=
-
=
-
=
-
-
-
-
=
-
-
-
-
-
-
-
-
#
+
+
+
+
+
+
=
-
.
:
:
.
:
.
:
-
:
-
-
-
-
-
%
+
*
#
%
%
#
#
*
%
#
#
+
+
+
=
=
=
+
=
=
*
=
+
+
+
#
*
#
%
=
+
*
#
#
#
*
*
*
*
+
*
*
=
=
-
=
-
+
=
-
=
+
:
-
=
-
-
-
-
-
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
+
=
=
=
-
=
-
=
-
=
-
=
=
=
=
-
=
=
-
-
=
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
*
+
*
*
+
=
-
-
-
-
.
-
-
-
:
-
:
-
-
-
-
=
#
#
%
#
*
#
%
%
#
#
*
*
+
=
=
+
=
+
*
+
*
*
+
*
#
*
#
*
%
*
#
*
+
*
#
#
*
#
%
%
+
#
#
=
-
=
=
-
=
=
+
-
-
=
=
-
-
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
=
+
=
-
=
-
=
-
=
-
=
=
-
=
+
-
=
=
=
=
-
=
=
=
-
-
-
=
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
#
+
*
*
*
+
=
-
-
:
:
:
.
-
-
-
:
-
-
+
*
#
*
#
*
%
#
#
*
#
%
*
*
*
*
+
+
+
+
*
#
#
+
#
#
#
#
*
%
%
%
#
%
%
%
%
*
%
#
%
%
%
%
*
+
%
*
*
*
+
+
+
-
=
*
-
-
-
-
=
=
=
=
-
=
-
+
=
=
=
=
=
=
=
-
=
-
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
-
-
=
-
=
-
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
#
*
+
*
+
+
+
=
-
-
:
:
.
-
-
-
=
+
%
%
*
%
%
%
#
#
*
=
#
#
%
=
#
*
*
#
%
#
*
%
%
%
%
#
#
#
#
#
#
#
#
#
#
#
#
%
#
#
%
=
*
#
*
=
#
*
#
+
+
#
=
-
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
+
=
=
=
-
=
=
+
=
-
+
=
+
=
=
=
=
=
=
=
=
-
=
=
=
=
-
-
=
-
-
-
-
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
*
#
*
+
=
-
:
:
-
:
:
-
-
-
=
%
*
#
#
#
#
%
#
*
%
*
#
#
%
#
*
*
*
*
*
#
#
%
#
#
#
#
%
%
#
#
*
%
%
#
#
#
#
*
#
#
#
%
#
#
%
=
#
=
=
=
+
+
+
-
#
+
*
=
-
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
=
-
-
=
=
=
-
-
=
-
-
-
-
-
:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
+
*
*
=
-
-
-
-
:
-
-
-
*
%
%
#
#
#
#
#
+
%
#
%
%
+
+
+
+
*
#
%
*
#
%
%
#
#
#
%
%
#
*
#
%
%
#
*
#
#
%
%
#
*
%
#
-
=
-
:
*
#
=
=
%
=
=
%
+
=
=
+
-
=
-
=
-
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
+
=
=
-
=
-
=
=
-
-
=
=
-
+
=
-
-
=
-
=
=
=
-
=
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
+
*
*
+
*
-
-
-
-
-
-
-
-
*
#
*
#
#
*
#
#
#
*
=
%
#
%
#
#
+
*
+
#
#
%
*
%
*
#
%
%
#
%
#
#
%
#
#
#
#
#
#
#
%
*
#
#
#
+
=
=
=
+
-
#
=
=
#
=
=
=
=
+
=
+
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
+
=
=
=
-
=
=
+
-
=
-
-
-
=
=
+
=
=
=
-
-
-
=
-
=
=
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
%
*
+
+
*
+
*
=
-
-
-
-
-
-
-
-
-
+
*
*
#
%
#
*
#
#
#
#
+
=
#
#
%
+
*
#
#
*
%
*
*
#
%
%
#
%
*
#
%
*
*
*
*
*
#
#
#
%
#
#
#
#
=
*
=
:
=
*
*
-
:
+
-
=
=
+
%
#
*
#
#
*
+
*
=
=
=
=
-
=
=
=
=
=
=
=
=
-
+
=
=
=
=
=
=
=
=
=
-
-
-
=
-
=
-
=
=
=
-
-
=
+
-
=
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
%
+
*
*
*
-
-
-
-
-
-
-
-
-
+
#
#
#
*
#
#
#
#
#
%
+
=
#
*
#
+
#
*
#
+
#
*
%
#
+
+
%
#
#
#
*
*
+
*
*
%
+
#
#
#
*
#
%
@
%
#
#
*
+
=
+
#
#
%
+
+
=
=
-
+
=
*
#
#
*
*
=
=
%
+
+
+
=
+
=
-
+
+
=
=
=
+
=
=
=
=
=
+
=
+
=
+
=
-
=
-
-
=
=
-
=
=
-
=
-
-
=
=
-
-
-
=
-
-
-
-
-
-
-
-
-
-
=
=
-
-
=
-
-
-
-
-
-
-
-
%
+
#
*
*
*
=
-
-
-
-
-
-
-
#
#
#
#
#
#
*
#
%
#
+
+
#
#
*
+
*
*
*
#
*
*
*
#
+
+
#
%
#
+
=
%
=
+
+
*
#
#
*
#
*
%
%
%
#
*
=
+
+
=
+
#
+
+
=
%
=
=
=
+
+
*
*
#
#
+
*
+
*
+
+
*
+
=
=
=
+
+
=
=
=
=
+
=
+
=
-
=
-
=
-
-
-
-
=
=
=
=
=
-
=
-
-
=
=
-
-
-
-
-
-
-
=
-
-
-
-
=
-
-
-
-
-
+
=
=
=
-
-
-
-
-
-
-
-
-
%
+
*
+
+
+
-
-
-
-
-
-
-
-
=
#
#
*
#
%
%
%
%
*
%
%
+
+
*
#
#
%
*
=
*
#
*
*
+
#
#
*
*
#
#
%
#
+
+
-
+
=
+
#
#
#
#
#
%
#
#
#
#
=
+
+
+
+
*
+
+
+
=
#
=
=
+
*
+
#
*
+
#
+
#
*
#
*
*
#
#
*
=
=
=
+
=
=
+
=
=
-
-
=
=
+
+
=
-
=
=
-
-
=
-
=
-
-
=
=
-
-
=
=
-
=
=
=
-
-
-
=
-
-
-
-
-
=
-
+
+
+
+
+
#
#
#
#
#
*
+
*
*
+
*
*
=
+
-
=
-
-
-
*
#
%
%
@
#
%
#
#
%
+
+
#
*
%
@
=
+
+
+
+
#
+
#
*
#
#
%
+
=
+
=
*
#
*
#
*
#
*
#
%
%
%
#
=
+
+
+
+
*
+
+
-
*
-
-
*
+
+
*
#
#
*
*
+
%
*
*
*
#
*
+
+
-
+
+
+
=
+
=
=
+
+
=
=
=
=
=
+
-
=
-
=
-
=
-
=
+
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
*
=
=
=
+
*
+
#
#
+
+
=
=
*
+
*
*
*
*
#
#
#
*
*
*
*
*
*
=
=
*
+
*
=
=
=
=
#
#
*
@
@
#
%
*
#
#
+
#
%
#
-
=
=
=
+
+
=
+
+
+
*
%
+
+
*
=
+
=
+
*
#
#
*
#
#
#
*
*
*
#
%
-
*
=
=
+
+
+
=
=
:
#
-
=
=
+
+
*
*
*
+
+
+
=
#
#
*
#
*
*
=
=
=
=
=
=
=
=
=
+
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
-
=
=
=
=
=
-
=
=
-
+
*
*
#
*
#
*
*
#
*
*
#
*
#
*
#
#
+
*
*
*
*
*
*
#
#
*
+
*
+
=
*
%
%
#
%
@
%
@
%
#
%
#
=
*
%
%
#
=
=
=
=
=
+
-
=
*
=
+
=
=
+
+
+
+
+
#
+
#
*
#
#
#
*
#
#
#
=
=
=
=
+
+
#
=
+
#
=
=
=
*
#
#
#
:
*
+
+
+
%
%
%
%
#
+
=
+
+
+
=
+
+
+
=
+
+
=
-
+
=
=
+
=
+
+
-
+
+
+
=
=
+
+
=
+
=
=
=
=
=
=
=
+
*
%
%
#
*
+
*
#
*
#
%
#
*
#
*
#
#
#
+
#
#
*
*
*
*
*
*
*
#
%
#
%
%
%
%
%
%
%
#
#
@
@
#
%
#
#
#
+
*
%
%
%
=
=
*
*
#
%
#
*
+
*
*
#
=
#
*
*
=
=
+
=
+
*
#
#
%
%
*
*
*
*
#
-
+
+
=
-
=
+
=
+
*
#
*
+
#
+
*
*
:
+
=
=
+
#
#
#
%
%
#
*
=
+
=
+
*
=
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
#
#
%
%
#
#
#
+
#
#
*
#
=
+
+
=
+
+
+
=
+
=
*
#
*
*
*
*
+
*
+
+
*
%
%
%
%
#
%
#
#
%
#
*
%
#
#
#
#
%
#
#
*
#
#
*
#
*
*
#
#
*
#
%
+
+
+
+
+
#
*
+
#
#
#
#
*
#
#
=
+
+
=
#
*
+
-
*
-
=
=
+
+
*
#
-
=
*
=
+
%
#
#
#
#
#
#
=
+
=
#
=
+
+
=
=
+
=
+
=
+
=
+
+
+
=
=
+
+
=
=
+
+
=
=
=
=
+
+
=
+
+
=
*
+
+
%
#
#
#
%
%
#
#
=
*
+
#
%
#
=
=
+
=
=
+
=
=
=
*
*
*
#
*
+
*
+
+
%
#
@
%
#
#
#
%
#
#
%
@
@
%
%
#
#
+
%
%
%
%
%
#
%
%
%
%
#
#
%
%
%
*
#
#
%
*
+
+
#
#
#
#
#
*
%
%
#
#
#
=
*
-
+
*
#
+
*
=
#
*
-
#
+
*
*
+
-
+
#
#
#
#
*
#
#
+
+
+
#
+
=
+
=
+
=
=
+
=
+
=
#
=
+
=
+
+
=
+
=
#
+
+
+
+
=
*
+
*
=
=
+
-
#
%
#
#
#
%
%
%
*
+
+
%
%
=
+
+
=
+
+
=
=
*
#
#
#
*
*
#
*
*
*
+
+
*
%
%
#
%
%
#
%
*
#
%
%
%
%
#
#
#
#
+
%
%
@
%
%
%
%
%
%
%
*
+
%
%
%
%
%
%
*
+
+
%
%
%
%
%
%
%
%
%
%
%
%
*
#
#
%
=
#
=
=
+
#
+
*
#
+
*
=
+
=
=
*
*
+
=
=
#
+
=
#
*
%
*
#
*
=
+
+
#
+
+
+
*
+
*
+
*
=
+
+
=
+
*
+
*
*
+
+
*
+
+
%
*
+
+
+
+
*
*
%
=
=
+
*
#
#
#
#
#
#
@
%
#
#
+
*
#
#
#
-
+
+
=
+
=
+
*
#
#
#
*
*
*
*
*
*
*
#
%
#
%
%
#
%
#
#
#
#
%
%
%
#
#
#
%
%
%
%
%
%
%
%
%
*
=
%
#
%
#
#
+
*
%
%
@
%
%
%
%
%
*
*
*
*
#
#
#
#
=
*
=
=
*
#
*
*
+
%
=
+
-
#
+
#
*
=
=
+
*
#
#
#
#
*
#
*
=
*
*
*
*
#
*
#
=
=
+
#
#
+
+
*
*
#
*
+
+
*
=
*
*
*
#
*
*
*
#
#
#
#
+
:
=
#
#
#
#
#
%
#
#
%
#
#
+
+
#
*
*
=
=
#
+
+
-
-
=
*
#
#
#
*
*
*
*
*
*
#
#
%
%
%
%
%
#
%
#
#
#
%
%
%
%
#
#
#
#
%
%
@
%
%
%
%
%
*
*
*
#
%
#
*
=
%
#
+
#
%
#
%
@
%
%
%
%
%
*
#
#
+
#
%
#
*
+
=
+
#
+
+
*
=
#
=
=
*
#
*
=
*
*
=
#
#
#
*
+
#
*
#
*
#
#
#
#
=
=
+
+
*
#
%
%
#
+
*
+
+
+
*
*
*
*
#
*
*
+
=
=
-
-
=
-
=
#
#
#
%
%
%
#
%
#
#
*
=
+
+
*
=
*
+
-
-
=
=
#
#
#
*
#
#
*
*
#
#
@
%
%
%
%
%
#
#
%
%
#
#
%
%
#
#
%
%
%
%
%
%
#
%
#
*
*
*
*
*
%
*
%
*
+
#
#
#
%
%
%
#
+
#
#
%
%
+
#
*
*
#
#
=
*
=
+
*
+
+
+
+
#
=
=
#
+
*
-
-
+
+
=
#
*
#
#
#
*
+
+
=
+
=
+
+
*
+
+
#
#
#
#
#
#
%
#
=
+
*
#
*
*
*
*
+
*
*
*
#
+
+
+
-
=
=
-
=
%
%
%
%
%
#
%
#
#
%
=
+
+
*
#
=
+
=
*
+
%
%
%
#
*
%
*
#
#
#
%
@
%
%
%
%
#
#
#
*
#
%
#
#
%
*
*
#
#
*
@
%
*
@
%
*
#
+
#
*
#
*
+
=
#
#
+
%
@
#
#
#
*
#
%
#
*
*
#
*
%
=
*
=
=
#
#
+
+
=
*
=
=
=
#
+
#
*
*
:
=
*
=
+
#
#
*
*
#
+
=
+
=
=
+
+
*
*
+
*
=
#
#
#
*
#
#
#
#
%
#
#
+
*
+
+
+
=
+
+
+
=
=
=
+
#
#
#
*
#
#
#
#
%
%
%
#
+
+
#
%
=
+
=
=
#
#
#
*
#
*
#
%
*
#
*
*
*
#
#
%
%
%
@
%
*
%
#
#
#
*
@
%
%
%
#
#
#
#
+
%
@
%
%
*
#
*
+
#
*
+
*
*
*
%
#
%
+
+
=
#
%
%
#
*
%
#
#
%
@
#
+
+
%
#
%
#
+
*
=
=
*
#
-
#
=
+
#
=
=
*
+
%
+
*
-
*
+
+
*
#
#
*
#
+
*
=
*
#
#
*
#
*
#
=
#
#
#
#
#
#
#
#
*
=
*
=
#
#
#
+
+
=
#
#
#
#
#
#
#
%
#
%
%
%
#
=
*
*
%
#
=
+
*
%
%
%
#
%
#
%
+
*
#
#
*
#
%
@
@
%
@
@
%
#
#
%
#
%
%
#
%
#
#
%
=
%
%
%
#
*
#
*
*
#
#
*
*
*
+
+
+
*
*
%
#
%
#
#
*
#
*
+
#
#
#
#
+
+
+
=
=
+
+
=
+
+
#
+
=
*
#
#
+
=
=
#
+
#
+
#
#
#
#
#
*
+
+
*
#
#
#
*
*
*
#
%
#
%
*
#
#
*
+
*
+
=
=
*
+
*
+
+
%
#
*
#
#
%
#
%
=
#
#
#
#
#
@
%
#
*
*
+
*
%
#
=
+
#
#
*
=
+
#
+
=
*
#
*
%
%
%
@
%
#
%
%
@
@
%
#
#
%
%
#
%
#
%
#
%
#
%
%
%
@
%
%
#
+
*
#
*
*
=
*
=
#
+
+
=
+
*
#
%
@
%
%
%
#
%
#
=
*
+
#
+
+
+
#
=
*
=
+
=
+
+
+
=
=
=
*
+
=
#
#
+
#
+
=
%
#
*
*
*
*
#
*
#
#
+
+
*
*
#
#
#
%
%
+
*
*
%
#
%
#
#
#
#
*
%
#
+
=
#
+
+
+
=
+
*
%
%
#
#
%
%
#
%
%
#
*
%
#
#
%
%
%
=
+
+
#
%
#
=
=
#
*
+
+
+
=
+
=
=
+
#
#
%
%
%
%
%
%
%
%
%
@
%
#
%
%
#
#
%
%
%
*
%
#
%
#
+
%
%
@
@
%
#
#
*
*
+
+
+
*
+
=
+
%
%
%
%
%
%
%
#
*
*
=
#
+
*
*
#
*
%
%
*
#
%
%
%
#
+
*
+
*
+
+
=
*
#
#
=
+
+
*
*
#
#
#
#
#
*
=
+
#
*
+
#
#
#
%
+
#
%
#
%
%
*
#
%
%
#
*
+
*
*
+
*
#
%
#
%
%
#
*
#
#
#
#
#
+
#
#
#
=
*
*
#
@
%
=
=
*
*
-
-
-
-
=
=
=
=
*
#
#
%
%
#
%
#
#
#
@
%
%
#
%
%
%
#
%
%
%
%
#
=
%
%
@
%
*
*
#
*
*
#
+
+
*
=
+
*
+
%
%
%
%
%
#
*
#
#
=
#
+
+
#
#
%
%
+
+
=
=
+
+
*
*
#
=
=
=
=
=
#
+
#
*
-
=
*
+
*
*
#
%
*
#
+
*
#
#
+
+
%
#
%
#
#
%
%
#
%
#
%
#
*
#
#
*
=
*
+
+
=
=
#
%
#
#
#
*
#
#
*
#
#
*
#
#
#
%
#
#
*
#
=
*
+
+
#
=
+
#
#
=
%
#
=
=
=
=
+
*
%
%
@
%
%
#
%
%
%
#
%
%
%
#
%
#
%
#
%
%
%
%
*
%
#
#
%
@
@
%
#
#
*
#
*
+
=
*
=
*
%
%
*
#
*
#
*
+
=
+
+
%
+
+
=
*
%
*
#
+
=
*
*
*
#
*
*
+
=
*
%
#
%
*
-
=
+
*
+
*
*
#
#
#
#
#
#
*
*
*
*
#
#
#
*
#
#
#
%
#
#
#
#
#
#
#
#
#
#
*
=
+
+
=
=
+
*
#
%
#
#
*
#
#
#
#
#
#
%
#
%
*
#
%
#
*
=
*
#
#
#
=
*
%
*
+
#
#
-
=
=
*
#
%
@
%
#
%
%
%
%
%
#
@
%
%
#
#
#
*
*
#
#
#
#
#
#
#
#
+
#
@
%
%
#
*
*
*
*
+
:
-
:
-
-
*
%
%
#
#
%
%
+
-
-
=
+
%
#
=
-
-
#
%
*
#
+
=
%
#
*
*
#
*
*
+
*
#
%
#
#
=
=
+
*
=
*
*
*
*
*
#
+
#
#
#
%
#
*
#
#
#
#
%
@
#
#
#
*
#
#
#
#
#
#
+
@
*
#
*
#
#
#
%
#
%
#
#
#
#
#
#
#
#
%
%
%
#
+
+
%
#
*
+
*
#
+
#
*
=
=
=
*
#
%
%
%
%
#
%
#
%
#
@
*
@
%
*
%
%
#
#
#
#
@
%
#
#
*
#
*
%
@
%
%
*
#
*
#
#
+
*
-
-
-
-
:
=
%
#
%
*
#
%
%
#
*
+
=
+
#
#
+
=
:
=
%
+
*
+
=
%
#
#
*
#
#
*
=
#
%
#
#
=
+
+
*
#
*
#
*
#
*
*
*
%
#
#
#
#
*
#
*
#
#
%
#
#
%
%
%
#
%
#
%
*
=
=
+
%
*
+
+
#
#
#
%
#
#
#
*
*
#
*
#
#
#
*
%
%
#
#
*
%
*
#
*
#
%
+
+
+
+
+
+
#
%
%
%
%
#
%
#
%
%
%
#
%
#
%
%
#
%
%
%
@
%
%
@
%
%
%
#
%
%
%
%
*
*
*
*
#
*
=
%
=
+
+
%
@
%
%
#
#
%
:
-
=
=
=
=
-
-
=
%
%
#
%
%
#
%
%
%
%
%
#
*
*
+
*
#
%
#
%
=
#
#
=
*
#
*
#
*
#
+
#
+
=
#
#
#
*
*
#
*
#
@
*
#
#
%
#
%
*
=
+
+
%
#
+
*
%
#
*
%
#
%
#
#
#
%
*
%
#
*
#
@
%
%
#
+
#
%
*
#
+
#
=
@
#
%
#
#
#
#
%
%
@
%
%
#
%
#
#
#
%
@
#
*
+
%
#
@
@
@
@
@
@
%
%
%
%
%
*
%
%
@
#
*
#
#
*
*
#
*
+
*
+
*
%
%
%
%
#
#
#
%
+
=
#
+
+
*
*
#
+
*
=
#
%
*
+
=
%
#
*
+
%
%
#
+
#
+
*
#
%
#
#
+
%
*
+
+
#
*
#
*
*
*
#
+
=
%
#
%
%
#
#
#
#
#
#
#
#
*
#
#
#
#
+
=
*
#
+
+
*
#
%
#
#
*
*
#
*
#
#
#
*
#
*
#
%
#
#
#
#
#
%
#
#
=
+
#
%
=
@
*
#
#
#
#
#
%
%
%
#
%
%
#
#
#
%
#
%
+
#
#
#
%
@
%
@
%
%
%
%
%
%
%
*
@
%
%
#
=
*
*
#
*
#
+
*
=
#
#
#
%
@
%
#
@
%
+
#
+
+
%
#
*
+
*
=
%
+
@
*
+
+
#
%
*
+
%
=
*
#
+
#
%
#
+
*
+
=
*
+
*
*
#
*
%
+
%
#
*
*
#
%
%
#
#
#
%
#
#
*
%
%
%
@
%
%
@
@
%
#
%
%
#
*
#
#
%
#
#
#
#
#
*
#
#
#
%
#
*
#
%
#
#
#
%
=
#
@
=
#
*
%
#
#
%
#
#
%
#
#
%
%
#
#
*
#
#
@
@
@
@
@
%
@
%
@
#
%
#
#
*
=
+
#
#
#
#
*
*
*
=
+
+
+
#
%
%
%
%
#
#
+
#
+
*
@
+
*
+
+
=
*
%
*
%
#
+
+
+
=
#
%
+
#
*
%
%
+
*
*
=
*
#
+
+
#
#
#
*
#
#
#
%
%
%
#
#
%
%
#
*
#
#
*
#
#
#
#
#
#
+
*
#
%
#
%
#
#
#
%
#
*
#
%
#
%
%
%
%
%
#
*
*
#
%
#
%
#
*
+
+
%
#
=
%
%
%
#
#
*
%
%
#
%
#
#
#
%
%
%
%
*
%
#
#
#
#
#
#
%
@
%
@
@
%
@
#
@
%
%
%
#
#
*
#
%
#
#
-
-
=
*
+
*
%
%
@
%
#
+
+
*
=
*
@
*
*
%
*
+
+
%
=
+
+
=
*
+
+
+
*
+
*
*
*
+
*
#
#
*
#
%
#
+
+
+
=
=
*
%
*
%
+
%
%
+
%
@
%
@
%
#
%
+
%
%
#
#
%
+
*
*
+
+
#
*
+
#
#
*
#
*
#
#
#
%
#
#
@
@
%
%
%
@
%
%
%
%
%
%
*
+
+
+
+
*
#
*
+
=
*
+
#
#
%
%
%
+
@
@
*
%
#
#
#
#
%
%
%
%
%
%
@
%
%
@
@
%
*
%
%
#
=
*
#
#
#
*
+
=
=
=
=
+
=
*
%
*
%
#
#
%
+
=
+
+
#
%
#
=
=
+
+
#
%
+
+
+
+
*
#
%
%
#
#
*
*
#
@
+
*
#
*
*
*
#
%
%
#
*
#
%
#
#
*
*
#
%
#
#
*
*
%
%
%
+
%
*
#
#
#
+
#
*
*
+
#
#
#
%
%
#
#
#
#
#
#
#
#
#
#
#
*
#
*
%
%
#
*
#
+
*
+
%
%
+
*
%
%
%
#
*
*
#
=
+
=
=
+
+
+
+
#
#
#
#
#
#
%
#
@
%
@
%
@
%
%
%
#
%
%
=
=
#
#
#
*
+
*
+
+
+
=
#
%
#
%
+
#
*
#
+
*
+
+
+
+
*
#
-
=
=
=
+
%
+
=
#
+
%
#
%
*
=
*
%
*
%
#
*
+
+
+
#
*
#
#
*
+
*
%
#
#
#
#
#
*
#
#
%
#
%
#
#
#
%
%
#
*
+
+
#
#
*
*
#
#
*
*
#
#
*
*
#
#
#
#
%
#
*
@
*
*
*
@
@
%
#
*
+
%
#
#
%
#
%
%
%
%
+
%
+
@
%
%
=
=
=
=
+
%
%
%
#
*
*
+
#
@
#
+
*
%
%
*
%
%
*
=
+
*
*
*
+
=
+
+
=
=
=
=
%
%
=
=
=
=
=
+
+
#
+
+
=
+
%
*
+
+
*
+
+
*
#
%
%
*
#
%
#
%
#
%
%
#
*
#
+
+
+
#
#
#
*
*
#
#
*
#
*
#
%
#
%
#
#
#
#
#
%
@
*
#
*
*
+
*
#
#
*
#
#
#
#
#
#
#
#
#
*
#
%
#
%
*
%
%
#
%
%
%
%
%
%
*
%
%
@
%
%
%
*
*
%
%
%
@
@
#
#
%
%
%
%
#
#
#
*
*
+
%
@
%
+
#
#
#
%
%
%
#
#
+
%
#
%
*
+
+
=
=
=
+
#
+
+
#
*
*
%
*
=
#
*
+
#
+
+
*
#
%
*
*
+
+
#
#
*
#
@
%
#
*
#
%
%
%
+
+
#
*
#
*
#
*
#
+
#
#
#
#
#
*
#
#
#
*
#
%
%
@
%
#
*
*
*
#
#
*
#
#
#
#
#
#
*
*
#
#
%
#
*
%
+
#
%
%
%
#
+
*
+
#
*
%
+
*
#
#
*
#
%
*
%
#
@
#
%
%
%
%
@
@
#
@
#
%
#
+
+
%
#
#
@
%
#
%
%
%
*
*
#
#
#
%
#
#
#
#
#
%
%
#
*
*
#
#
*
+
*
*
#
%
+
#
+
+
+
+
+
#
+
+
+
+
#
%
+
+
*
+
*
*
+
#
#
%
%
*
*
+
+
#
#
%
*
#
+
+
#
#
#
*
#
#
+
*
*
+
*
*
#
#
*
#
%
#
*
*
*
#
*
*
%
%
#
#
*
#
*
*
#
#
*
#
#
#
#
#
#
*
#
#
*
*
*
%
%
%
%
%
@
%
%
#
%
#
*
*
#
*
#
#
%
#
*
#
#
#
#
%
%
%
@
%
@
%
%
%
*
*
%
#
*
%
@
#
#
#
#
#
#
#
#
#
%
%
*
#
+
#
%
%
+
+
+
+
+
+
+
+
*
*
*
#
=
+
+
+
+
=
#
*
+
=
+
*
@
#
+
+
*
+
+
+
+
*
#
#
%
*
*
+
*
%
#
#
*
+
*
#
%
*
%
#
@
*
#
*
+
*
+
*
*
#
#
%
#
*
#
#
#
#
#
%
#
#
%
#
#
#
#
+
*
*
#
+
#
#
#
#
%
#
#
#
*
*
#
*
#
#
#
*
*
*
#
%
#
#
#
#
*
+
*
#
#
*
*
#
#
#
#
#
#
%
#
#
%
@
%
@
%
%
#
#
%
*
*
#
#
%
@
@
#
%
%
#
%
+
#
#
*
#
%
#
%
*
*
=
*
%
*
+
+
+
+
+
=
+
#
#
#
*
#
*
#
*
+
+
+
+
#
+
+
*
*
*
%
#
+
+
+
+
+
+
+
+
+
#
#
#
#
+
*
#
*
#
#
+
%
+
*
+
#
#
#
#
#
*
*
+
#
*
*
#
#
#
#
#
#
*
*
#
*
#
#
#
#
%
*
*
*
*
*
#
#
#
#
*
+
*
#
#
#
*
*
*
#
#
#
#
#
*
*
*
#
*
#
#
*
*
#
#
*
#
%
*
#
*
*
*
#
%
%
%
%
@
%
%
%
%
#
%
%
*
*
#
%
#
%
%
%
@
%
*
%
*
#
#
*
#
%
#
#
%
#
#
=
#
*
#
+
+
=
+
+
+
*
#
*
#
#
#
#
+
+
+
+
*
%
*
+
#
+
+
%
*
*
+
+
*
+
#
+
*
*
+
+
*
*
%
#
*
#
%
*
#
#
*
+
#
*
%
*
#
+
#
*
#
#
#
*
#
*
*
#
#
#
*
#
#
*
#
#
*
*
#
*
*
#
*
#
*
=
*
#
*
#
#
#
#
%
#
#
%
#
*
#
#
#
#
*
#
#
#
#
@
#
#
*
*
#
@
@
@
@
%
%
%
%
%
#
%
%
#
+
%
#
%
#
@
%
%
@
#
%
%
*
%
%
#
*
#
+
#
%
#
#
+
+
*
+
#
#
*
#
*
#
*
*
+
+
+
+
*
+
#
#
+
*
#
*
+
*
*
+
*
#
*
*
+
*
#
*
#
#
#
#
#
*
*
*
*
*
#
*
#
*
#
#
*
*
*
*
*
=
=
+
*
*
#
*
=
#
#
*
#
%
#
#
*
#
*
#
*
#
*
*
#
#
#
#
+
+
*
#
#
#
*
#
#
*
#
#
#
*
#
#
#
*
#
#
#
*
*
+
%
#
*
#
%
@
*
*
#
#
%
@
#
%
%
%
%
@
%
#
%
#
%
%
#
*
#
*
*
%
%
%
#
%
%
%
#
%
%
%
*
#
*
#
+
*
+
*
+
*
*
+
*
#
#
#
#
#
*
+
*
*
#
*
#
*
+
#
*
*
#
#
+
#
#
#
*
#
#
+
%
#
#
*
#
#
*
+
*
+
#
#
#
#
*
*
%
+
*
*
*
*
#
=
+
=
*
#
*
%
#
+
*
*
%
#
*
*
#
*
#
#
*
*
*
*
#
#
*
#
*
=
#
#
*
#
#
#
#
*
%
#
%
*
*
#
*
*
#
*
*
#
*
#
#
#
*
%
%
%
#
%
%
%
%
%
%
#
*
#
%
%
#
#
*
%
*
*
%
@
@
#
@
%
%
@
@
%
#
%
#
%
%
#
*
*
%
%
*
%
+
#
*
#
*
*
*
#
+
#
*
+
#
*
*
*
#
+
*
*
*
*
*
+
#
*
#
+
*
#
*
*
#
#
*
@
@
#
*
*
#
%
+
*
*
*
*
*
%
*
@
#
#
%
%
%
#
#
#
*
#
*
*
#
*
#
*
#
#
*
#
%
+
*
*
#
*
#
#
#
*
#
#
%
#
#
*
*
#
#
#
*
*
*
%
%
%
%
%
#
%
%
@
%
@
%
@
@
@
%
#
#
#
%
%
%
#
#
+
%
%
%
@
@
%
%
@
@
@
@
%
%
%
@
%
@
%
%
%
#
#
%
%
*
*
%
#
*
#
#
#
*
+
#
*
*
#
+
*
+
*
*
#
#
*
*
*
*
#
+
#
*
*
#
%
*
*
#
*
*
#
*
#
*
+
*
%
@
#
*
#
#
*
%
#
*
#
*
*
#
%
@
%
%
@
#
*
#
%
*
*
*
#
*
*
*
*
*
#
*
#
#
%
=
*
*
#
*
#
#
*
*
#
#
*
#
#
#
#
*
#
*
#
#
%
%
%
%
%
@
@
@
%
%
@
@
%
@
%
*
%
%
#
%
%
@
%
%
%
@
@
%
@
%
%
%
@
@
%
%
%
%
%
%
%
%
%
#
#
%
+
*
#
#
#
#
#
#
#
+
#
*
*
+
#
*
*
*
*
#
#
*
#
*
*
*
*
#
#
*
*
#
*
#
*
%
%
%
*
#
*
%
%
%
%
*
%
%
@
#
*
*
*
#
%
%
%
*
%
%
%
%
@
%
%
%
#
#
%
#
*
#
*
#
*
#
*
*
#
*
#
#
%
*
#
*
#
#
*
#
#
#
*
#
*
*
#
#
*
*
#
#
#
*
*
*
*
#
*
#
%
@
@
%
%
%
%
%
@
%
@
%
@
@
%
@
*
%
%
#
%
%
@
#
%
@
%
@
%
%
@
%
%
#
@
@
%
#
#
*
#
+
*
+
+
#
*
*
#
%
#
+
%
*
#
*
#
*
+
*
#
*
*
*
+
*
*
*
#
*
*
#
*
*
*
*
*
#
*
=
%
@
@
%
%
@
%
%
@
%
@
@
@
@
@
%
*
%
%
+
#
%
%
%
%
%
@
@
%
%
%
%
%
*
#
#
*
%
%
%
#
#
#
#
%
*
#
*
#
*
*
#
#
*
*
#
=
*
*
*
#
#
*
#
*
#
*
*
*
*
*
%
*
#
%
%
%
%
@
@
%
%
@
%
%
%
@
%
+
@
=
%
%
%
%
*
@
%
%
%
@
%
%
%
@
%
%
%
*
*
+
*
*
*
+
*
+
*
*
#
+
*
#
#
#
#
#
*
+
*
+
+
#
*
+
+
*
#
#
*
#
*
*
#
*
#
*
#
#
*
#
*
*
#
%
%
%
@
%
%
%
%
%
@
%
@
%
%
@
#
%
%
#
%
@
@
@
%
%
%
%
#
%
%
%
%
%
@
%
#
*
%
@
%
%
%
*
*
#
*
#
#
#
#
#
#
*
*
#
=
+
=
#
#
*
#
#
#
*
#
#
#
#
*
#
@
@
%
%
#
#
#
#
%
@
@
%
#
%
%
@
@
*
=
%
%
@
%
#
%
%
@
@
@
@
%
@
%
%
%
#
*
*
*
#
*
+
#
*
*
#
*
*
#
#
*
*
*
#
*
*
*
*
+
+
+
+
*
*
#
#
+
*
*
*
*
*
+
+
*
*
*
*
*
#
#
*
*
*
#
#
#
*
#
#
#
#
#
%
#
*
*
@
#
*
*
#
%
%
@
@
@
@
@
%
@
%
@
%
@
%
%
%
%
#
#
*
#
#
*
*
*
#
*
*
*
*
*
#
*
=
*
-
#
*
#
*
#
#
*
*
*
#
#
*
%
%
@
%
@
%
%
#
@
@
@
#
%
#
%
@
@
@
%
*
#
*
%
%
%
*
%
@
%
@
*
%
%
%
#
#
#
#
*
#
*
+
*
+
*
#
*
#
#
#
*
#
#
#
#
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
*
*
*
*
*
#
*
*
#
#
#
*
*
*
%
%
%
@
@
@
%
@
@
@
@
@
@
@
@
%
@
%
%
#
%
#
#
#
*
*
#
#
#
#
#
*
*
*
#
#
*
#
#
*
#
#
*
*
+
-
#
*
#
#
*
#
*
*
@
@
@
@
#
#
#
#
%
@
@
%
%
%
#
#
#
@
@
@
@
*
%
%
*
#
%
%
%
*
+
%
%
@
*
#
#
#
#
#
*
*
*
#
#
*
#
#
*
#
+
=
*
*
*
*
+
+
*
*
*
#
*
#
*
*
#
+
*
*
*
*
*
*
*
*
*
*
*
*
#
*
*
#
*
*
#
*
*
*
#
*
#
*
*
*
*
#
%
%
%
%
#
%
#
%
%
#
#
#
%
#
*
#
*
*
*
*
#
#
#
#
*
#
#
*
*
*
*
*
*
*
*
*
*
*
*
#
+
#
#
*
#
*
#
#
*
*
=
*
#
%
@
%
%
*
%
%
#
@
@
@
@
@
%
*
#
#
#
%
%
%
@
@
@
@
%
%
%
%
*
+
+
%
%
%
@
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
#
#
#
*
*
*
*
*
*
*
*
*
*
#
*
*
#
*
*
*
*
*
#
*
*
*
*
*
*
*
#
*
*
#
*
#
*
*
#
*
*
#
*
#
#
*
*
*
#
*
%
#
*
*
*
+
*
*
*
*
#
#
*
*
%
#
*
#
#
*
*
#
*
*
#
#
*
#
#
#
#
#
*
#
*
#
*
*
+
=
%
*
*
#
#
#
#
#
*
*
+
+
#
@
@
%
@
@
%
%
%
%
@
@
%
@
%
#
%
@
%
%
@
%
@
@
%
%
@
@
@
@
%
@
%
@
@
%
*
*
*
#
#
*
*
#
*
*
*
#
*
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
#
*
*
*
*
#
*
#
*
*
*
*
#
*
*
*
#
#
*
#
#
#
#
*
*
*
*
#
*
#
*
*
*
#
#
*
*
#
*
#
#
#
#
#
*
*
#
*
*
*
#
#
#
#
#
#
*
#
*
=
%
#
#
#
#
#
*
#
#
*
#
=
#
#
%
%
@
@
%
@
#
#
%
%
@
@
@
@
@
%
%
@
%
@
%
@
@
@
@
@
@
%
@
%
@
%
%
%
@
%
#
*
*
*
#
*
*
*
*
*
*
*
#
*
*
*
*
*
#
#
*
*
*
*
#
*
*
*
#
#
#
#
*
*
*
*
*
*
#
*
#
*
#
*
*
#
*
*
*
*
*
*
#
*
#
*
#
*
*
*
*
#
#
#
*
*
*
*
*
*
*
*
*
*
*
*
#
#
#
#
#
*
#
*
#
*
#
*
*
*
#
*
*
*
*
#
*
*
*
#
#
#
+
%
%
*
#
*
#
#
*
*
%
%
*
*
%
%
%
%
%
%
%
%
@
@
@
%
@
%
%
@
@
@
%
%
%
@
%
%
%
@
@
@
@
@
@
@
%
%
@
#
#
*
+
#
*
*
*
*
*
*
*
*
#
*
*
#
*
#
*
*
*
*
*
*
*
#
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
#
*
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
#
*
#
*
*
*
*
#
*
#
*
#
*
#
#
*
#
*
#
*
*
#
#
#
#
#
*
#
*
#
*
*
%
@
%
%
%
@
%
@
%
%
%
%
%
%
%
%
%
%
@
%
@
%
@
%
@
%
%
%
%
%
@
%
%
@
@
%
%
@
@
%
@
%
%
@
%
@
*
#
*
*
*
*
*
*
*
*
*
*
*
#
#
#
#
*
#
*
#
#
*
#
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
#
*
#
*
#
*
*
*
*
*
*
*
#
*
#
*
#
#
*
*
#
#
*
*
*
#
*
#
#
*
*
#
#
#
#
*
#
*
#
#
#
#
#
#
#
#
*
*
*
%
%
@
@
@
@
%
@
%
@
%
%
%
%
%
%
@
%
*
%
%
%
@
%
%
%
#
%
#
%
%
%
%
%
%
%
%
%
%
%
%
@
@
@
%
@
%
@
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
#
#
#
*
*
#
*
*
#
#
*
#
*
#
*
#
*
#
#
*
#
*
*
*
#
*
*
*
*
#
#
#
#
#
#
#
#
*
*
*
*
*
#
#
*
#
*
#
#
*
#
#
#
#
#
*
*
*
#
*
*
*
#
#
*
*
*
*
#
*
#
#
*
#
#
#
*
*
*
*
*
*
#
#
#
*
#
*
#
*
#
#
%
%
%
%
%
%
@
%
%
#
#
#
%
%
%
%
%
#
#
*
#
#
#
#
#
*
*
*
#
*
*
*
#
#
%
@
%
@
%
%
%
@
%
@
%
%
%
%
+
+
+
=
+
=
+
+
=
+
=
+
+
+
+
=
+
+
=
+
+
=
+
=
+
=
+
+
+
+
+
=
+
=
+
=
+
+
=
+
+
+
+
+
=
=
=
=
=
=
=
+
=
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
+
=
+
=
+
=
+
=
*
*
+
*
+
*
+
+
+
=
+
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
-
=
-
=
=
=
=
=
+
%
+
=
=
+
+
+
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
+
+
=
+
=
=
=
=
+
=
=
+
=
=
+
=
+
=
=
=
=
+
=
+
=
+
+
+
+
=
+
=
+
=
=
+
+
+
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
+
=
+
=
=
+
=
=
=
=
+
=
+
+
=
=
+
=
+
=
=
=
+
+
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
=
-
=
-
-
=
=
-
=
-
-
=
=
=
=
+
%
=
+
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
+
=
+
+
=
+
=
=
+
=
+
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
-
=
-
-
-
=
-
-
-
-
=
-
=
=
=
=
%
%
+
=
+
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
+
+
+
+
=
=
=
+
+
+
=
=
+
=
+
+
+
=
+
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
-
-
-
=
=
-
-
=
-
-
=
-
-
-
-
=
=
=
=
-
=
=
-
=
-
-
=
-
=
%
+
=
+
+
=
+
=
=
+
=
+
=
=
=
=
=
+
+
=
=
=
+
=
=
=
=
=
=
=
+
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
+
=
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
-
=
=
-
=
-
=
-
=
=
-
-
-
-
-
-
-
-
-
-
=
=
=
=
#
%
+
=
=
=
+
=
+
+
=
=
=
=
=
=
=
+
=
=
+
=
+
=
=
+
=
+
=
+
=
+
=
+
=
+
+
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
-
=
-
-
-
=
-
=
-
-
-
-
=
=
-
=
-
=
-
=
=
-
=
-
-
-
*
%
%
=
+
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
=
+
=
=
=
-
=
-
=
=
=
-
=
=
=
=
=
-
-
=
-
=
-
-
=
-
=
-
-
-
-
=
-
=
-
=
=
*
@
#
=
=
=
+
=
+
=
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
-
=
=
-
-
-
=
-
-
-
-
-
=
=
-
-
-
-
=
-
=
-
-
=
-
+
%
+
=
=
=
=
=
+
+
=
+
=
=
=
=
+
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
+
=
+
=
=
+
=
+
=
=
=
=
=
+
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
=
-
-
=
=
=
=
=
-
=
=
-
-
=
=
-
=
=
=
-
=
-
=
-
=
-
-
-
=
-
=
-
=
-
-
=
#
#
=
=
+
=
=
+
=
+
+
=
=
=
=
=
=
=
+
=
=
=
=
+
+
=
=
=
+
=
=
=
+
=
+
=
+
+
+
=
=
=
=
+
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
-
=
-
=
-
-
-
=
=
-
=
-
=
-
=
=
-
-
=
=
#
%
+
=
=
=
+
=
=
=
=
+
=
=
=
+
=
=
=
+
=
+
=
=
=
=
=
=
=
+
+
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
+
+
+
=
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
+
=
=
=
=
=
-
=
-
=
=
=
=
-
=
=
-
-
-
-
=
-
-
=
=
-
-
=
-
=
-
=
-
-
=
=
-
%
=
+
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
+
=
=
=
=
+
+
=
+
=
=
=
=
+
+
=
+
+
=
+
+
=
+
=
=
+
=
=
=
=
+
=
=
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
-
=
=
-
=
=
-
-
-
=
-
=
=
-
-
-
-
-
=
-
-
=
-
-
-
=
-
-
*
#
=
=
+
+
=
=
+
+
+
+
=
=
=
=
=
=
=
+
=
+
=
+
+
+
=
=
+
+
=
+
=
=
=
=
=
=
=
=
=
+
+
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
=
-
-
=
=
=
-
-
-
-
=
=
-
=
=
-
-
-
=
-
-
-
=
-
=
-
-
-
#
%
#
+
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
+
+
+
+
+
+
=
+
=
+
=
=
+
=
=
=
=
+
=
+
+
+
+
=
+
=
+
=
=
=
=
+
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
-
-
=
=
-
=
-
=
=
-
=
=
-
=
-
-
-
=
=
-
=
-
=
-
-
=
=
=
-
-
=
-
=
-
=
=
*
#
=
=
=
=
=
+
=
=
=
=
+
=
=
+
=
=
=
-
+
=
-
=
-
=
=
-
+
=
=
+
=
=
+
+
+
=
=
+
=
=
=
=
+
=
+
=
=
=
+
=
=
=
=
=
=
=
+
=
+
-
=
=
+
=
=
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
=
-
=
-
=
=
-
-
-
-
-
=
=
-
-
=
-
=
-
-
-
=
=
-
=
-
=
=
-
-
-
#
#
*
=
=
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
+
=
=
+
=
=
=
+
=
+
=
=
+
=
=
=
+
+
=
+
+
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
=
=
-
=
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
-
-
-
-
=
-
=
-
=
-
=
-
=
=
=
-
=
-
=
-
=
-
-
-
=
-
-
-
-
=
-
-
=
-
-
-
-
=
%
%
*
=
=
=
=
=
-
-
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
+
+
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
=
=
-
=
-
=
-
-
=
-
*
-
-
-
-
=
-
-
=
-
-
-
-
=
=
=
-
=
=
=
=
=
=
-
=
%
#
=
-
=
=
=
=
=
=
-
=
-
=
-
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
-
=
=
=
=
=
=
=
+
=
=
=
+
=
=
+
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
-
=
=
=
=
=
-
=
-
-
=
=
-
=
-
=
-
-
=
-
-
=
=
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
+
#
*
#
=
=
+
-
=
-
-
-
=
-
-
+
-
=
-
=
-
=
-
-
=
=
-
=
=
=
-
-
=
-
=
-
=
=
=
-
=
-
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
=
=
=
=
-
=
=
=
-
=
=
-
-
=
-
-
=
#
-
-
=
-
=
-
-
-
-
-
-
=
-
-
=
-
=
=
-
=
=
=
-
=
#
#
+
-
=
=
-
=
-
=
=
-
=
=
=
-
=
=
=
=
+
=
=
+
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
-
=
-
=
=
=
-
-
=
=
=
=
-
=
-
-
=
=
-
=
-
=
-
=
-
-
=
=
#
+
-
-
-
-
=
-
=
=
=
=
=
-
=
-
-
=
=
-
-
=
-
-
-
-
-
-
#
*
#
=
=
+
-
=
-
=
-
=
+
=
=
=
=
=
=
=
=
+
=
=
=
-
=
=
-
=
=
=
=
=
=
=
+
-
=
-
=
=
=
-
-
-
+
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
-
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
-
=
-
-
-
=
=
=
-
=
-
-
-
-
=
-
-
-
-
-
+
=
=
=
-
=
-
-
-
-
-
=
-
-
=
-
=
-
-
*
*
#
=
=
-
=
+
=
-
=
=
-
=
=
=
=
+
=
=
=
=
+
=
=
+
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
-
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
-
=
=
-
=
=
=
=
=
-
=
-
=
-
=
-
=
=
-
-
-
=
-
=
=
-
-
-
-
=
-
=
=
#
%
+
-
-
-
=
-
=
=
=
=
-
-
=
-
=
-
-
-
=
-
-
-
-
+
%
#
#
#
=
+
=
+
=
=
-
=
=
-
+
=
=
+
=
=
+
=
=
+
=
=
+
=
+
=
+
+
=
+
=
=
-
+
-
=
=
=
=
=
=
-
=
=
=
=
-
=
=
+
+
=
-
=
=
=
-
=
=
+
=
-
-
=
-
-
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
-
=
=
-
=
=
-
=
-
=
=
=
-
-
-
-
-
-
-
=
=
=
-
-
=
%
#
#
+
-
=
-
-
=
=
=
-
-
-
-
=
-
=
-
-
=
-
=
=
-
-
-
%
*
#
=
+
=
-
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
+
=
=
+
=
+
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
-
-
=
-
=
-
=
-
-
-
=
-
=
-
-
-
%
#
#
+
-
-
-
=
-
-
-
-
-
-
-
=
=
-
=
=
-
-
-
=
-
*
*
%
*
#
=
=
=
=
-
=
=
=
+
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
+
=
=
=
=
+
+
=
=
=
=
+
=
=
=
+
=
=
+
=
-
=
=
=
=
=
-
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
-
=
-
-
=
=
-
=
-
=
-
-
-
=
-
-
-
-
=
=
-
=
-
-
=
-
-
%
#
*
*
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
*
#
*
#
+
=
+
-
=
=
=
=
+
=
+
=
+
=
=
+
=
+
=
=
=
=
=
+
=
=
=
+
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
-
=
=
-
=
=
-
=
=
-
-
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
-
=
-
-
-
-
=
=
=
-
=
=
=
-
-
=
-
=
-
=
-
-
*
%
#
*
#
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
=
-
=
%
*
#
#
=
=
+
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
+
+
+
=
+
=
+
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
-
=
+
=
=
=
=
=
+
=
=
=
+
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
-
=
-
-
-
-
-
-
-
=
-
-
=
-
-
-
-
=
=
=
-
-
=
-
-
=
=
*
%
#
#
*
=
=
-
-
-
-
-
-
-
-
-
-
:
-
=
-
-
-
-
=
-
-
=
=
*
*
#
#
@
+
+
=
=
+
=
=
+
=
+
+
=
=
+
=
+
+
+
+
+
=
+
+
=
+
+
+
+
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
-
=
-
=
=
=
-
=
=
=
-
-
=
-
-
-
-
-
-
=
-
=
-
=
-
-
-
=
-
-
-
-
-
=
#
*
*
+
+
=
=
-
-
-
-
-
-
-
-
-
-
-
:
-
-
-
=
-
-
-
+
#
*
%
%
+
=
+
=
+
=
+
=
=
=
+
=
=
+
+
=
=
=
=
+
=
+
+
=
+
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
-
+
=
=
+
-
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
-
-
=
=
-
-
=
-
-
-
=
-
=
-
=
=
=
-
-
-
=
-
=
-
=
-
=
=
-
-
*
+
+
=
+
+
-
-
-
=
-
-
-
-
-
-
-
=
-
-
-
-
=
-
-
-
-
-
#
#
%
#
=
+
+
=
=
=
=
=
=
=
=
+
=
=
=
+
=
+
+
=
+
=
=
+
=
=
+
+
=
=
=
=
+
=
+
=
+
+
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
=
+
-
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
-
=
-
=
-
=
-
-
=
-
=
-
-
-
-
-
-
=
=
-
=
-
-
-
=
-
-
-
=
-
-
*
=
*
-
=
-
-
-
-
-
-
-
=
-
-
-
-
-
=
-
-
-
-
-
=
-
=
-
#
*
%
#
+
=
=
=
=
=
=
+
=
+
=
+
=
+
=
=
=
=
+
+
+
+
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
+
=
-
=
=
=
=
+
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
-
-
=
=
-
-
-
=
-
-
=
-
-
-
-
-
=
-
-
=
-
=
-
-
=
-
=
-
-
-
-
=
-
-
=
-
*
+
+
=
+
=
-
:
-
-
-
:
-
=
-
=
=
-
-
=
:
-
:
-
-
#
#
%
%
+
=
+
=
+
=
+
=
=
=
=
=
+
=
+
=
=
=
+
=
+
=
+
+
=
=
+
=
=
+
=
=
=
=
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
-
-
=
-
=
-
-
=
-
=
-
=
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
=
-
-
-
-
-
-
#
*
=
+
+
+
=
-
-
-
-
-
-
-
=
-
-
-
-
-
-
:
-
-
-
-
-
#
%
#
+
=
=
=
=
=
=
=
=
=
+
+
=
+
+
+
+
+
+
+
=
=
=
=
+
=
=
+
=
=
+
=
*
=
=
=
=
=
=
+
=
=
=
=
=
-
=
=
=
=
=
=
=
-
+
=
=
=
=
-
=
=
=
=
=
=
=
+
-
=
=
-
=
=
-
=
=
=
-
-
-
-
-
-
=
-
=
-
=
-
-
-
-
-
=
-
-
-
=
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
#
=
=
+
+
+
=
=
-
:
-
-
-
-
-
-
-
-
=
-
-
-
=
=
-
-
-
%
%
+
=
+
=
=
=
+
=
=
+
=
=
=
=
+
=
=
=
=
=
=
+
+
=
+
+
=
=
+
=
+
=
*
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
:
-
:
-
#
+
+
+
+
+
+
=
-
-
-
-
-
-
-
-
-
-
:
-
-
-
-
-
-
-
-
-
=
-
-
%
#
%
#
=
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
+
=
=
+
%
*
+
=
=
=
=
+
=
=
+
+
=
=
+
=
=
=
=
=
+
=
=
-
=
+
=
=
-
=
=
-
=
+
=
=
=
=
-
-
=
=
=
=
-
=
=
=
=
=
=
+
=
=
=
=
=
=
=
-
-
=
-
-
-
-
-
:
-
-
-
-
-
=
-
=
-
-
-
=
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
#
*
%
%
=
-
-
-
:
-
-
-
-
-
-
=
-
-
=
=
-
=
=
-
-
-
-
%
%
#
%
+
=
+
=
=
=
+
+
=
=
=
=
=
=
+
+
=
=
=
+
+
+
=
=
=
+
=
=
=
=
+
+
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
-
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
:
-
-
#
+
-
#
%
*
+
=
-
-
-
-
-
:
-
-
-
-
-
-
-
-
=
-
-
=
=
=
=
+
#
%
#
#
=
=
=
+
=
=
+
=
=
=
=
=
+
=
+
=
+
=
+
=
+
=
#
=
=
+
=
=
+
=
+
=
=
*
-
=
=
=
-
=
+
=
=
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
-
=
=
=
=
-
-
-
=
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
=
=
-
-
-
-
=
-
=
=
-
-
-
-
-
:
-
-
-
-
-
#
+
+
+
-
-
-
-
-
-
-
-
=
-
=
=
-
-
=
-
*
*
=
-
=
-
#
%
#
#
+
=
=
=
=
=
+
+
+
=
=
=
=
+
=
+
=
=
+
+
=
+
=
=
+
=
+
=
-
=
-
*
-
=
=
-
=
-
-
=
=
+
-
-
-
-
-
-
-
=
-
=
-
-
=
-
=
=
-
=
=
-
=
-
=
=
=
=
=
-
=
=
-
=
-
=
-
=
-
-
=
-
=
-
=
-
=
-
-
=
=
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
:
-
-
-
-
+
+
+
=
+
+
=
-
:
-
:
-
:
-
-
-
-
=
-
=
-
=
-
+
-
-
=
*
%
%
%
%
=
=
+
=
=
+
+
=
+
+
+
+
=
+
+
+
=
=
+
+
+
=
=
=
+
=
=
=
=
=
=
=
+
*
-
=
=
=
-
-
-
*
-
-
-
-
-
-
-
-
=
=
=
=
=
-
=
-
-
-
=
=
=
-
=
=
=
=
-
=
=
=
-
=
=
=
-
=
=
-
=
-
-
-
-
-
-
=
-
=
-
=
-
=
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
:
#
+
*
+
+
-
-
-
:
-
.
:
:
:
-
-
-
-
-
=
#
+
-
=
=
=
*
%
%
#
=
=
=
=
=
=
=
=
+
+
=
=
+
+
=
=
+
+
+
#
*
+
=
+
+
+
=
+
=
=
+
#
-
=
-
=
-
-
=
-
+
=
-
-
-
-
-
-
-
=
=
-
=
-
=
-
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
-
=
=
=
=
=
=
-
=
-
-
-
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
+
+
*
*
+
=
-
:
-
:
-
:
-
-
-
-
:
-
:
-
:
*
=
=
=
*
#
%
%
%
#
+
=
=
=
=
+
=
+
=
+
+
+
+
+
=
*
*
*
#
%
+
*
=
#
#
*
#
=
=
=
+
*
=
-
=
=
=
#
#
-
=
-
-
=
-
-
-
=
-
-
=
=
=
=
=
=
-
=
=
-
-
=
=
=
-
=
=
-
=
-
-
=
=
+
-
=
-
=
=
=
=
=
=
=
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
=
-
-
-
=
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
#
+
+
+
+
=
-
.
:
:
.
:
.
:
-
:
-
-
-
-
-
-
%
+
*
#
%
#
#
*
%
#
+
+
+
=
=
+
=
=
*
+
=
+
+
+
+
#
*
#
%
#
%
=
+
*
#
#
*
*
#
*
*
+
*
*
=
=
-
=
+
=
-
=
+
:
=
-
-
-
-
-
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
+
=
=
-
=
-
=
=
-
=
-
=
=
=
=
-
=
-
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
*
+
*
*
+
-
-
.
-
-
-
:
-
-
-
=
#
#
#
*
#
%
#
%
#
#
*
#
*
+
=
=
+
=
+
*
+
*
*
+
*
#
*
#
*
%
*
+
#
*
+
*
#
#
#
*
#
%
%
+
#
=
=
=
=
-
=
=
+
-
-
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
-
=
-
=
-
=
-
=
-
=
=
+
=
=
=
=
=
-
-
-
=
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
*
+
*
+
=
-
:
-
:
:
.
-
-
-
:
-
-
+
*
#
*
%
#
#
*
#
%
#
*
*
*
*
+
+
+
+
*
#
#
*
+
#
#
#
#
*
%
@
%
#
%
%
*
%
%
%
%
%
*
+
%
*
*
+
+
+
-
=
=
*
-
-
-
=
=
=
=
-
=
=
-
+
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
-
-
-
=
=
-
-
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
-
#
*
+
*
+
+
+
=
-
-
:
:
-
.
-
-
=
+
%
%
*
%
%
#
#
*
+
=
#
#
%
*
=
#
*
*
#
%
#
*
*
%
%
%
#
%
#
#
#
#
#
#
#
#
#
#
#
%
%
#
#
%
=
*
+
+
#
*
=
#
*
#
+
+
#
-
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
+
=
=
=
+
-
=
=
=
=
-
+
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
-
-
-
-
-
-
=
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
+
*
#
*
+
=
-
:
:
-
:
:
-
-
-
=
%
*
#
#
#
%
#
*
%
*
#
%
*
*
*
+
*
#
*
#
#
#
%
#
#
#
#
%
%
#
#
*
%
#
#
#
*
#
#
#
%
#
#
%
#
=
#
=
=
=
+
+
+
-
+
#
+
*
=
-
=
=
=
+
=
=
+
-
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
=
-
-
=
=
=
-
-
=
-
-
-
-
-
-
-
:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
+
*
+
=
-
-
-
-
:
-
-
:
-
#
*
%
#
#
#
#
#
#
+
%
#
%
%
+
+
+
+
#
%
*
#
%
%
#
#
%
%
#
*
#
#
%
%
#
#
#
%
#
%
#
%
%
#
-
=
-
:
*
#
=
=
%
=
=
%
+
=
*
=
+
-
=
-
-
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
-
=
=
=
=
=
-
+
=
-
-
=
-
=
=
=
-
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
%
+
*
*
*
+
*
-
-
-
-
-
-
-
-
-
-
*
*
#
*
%
#
*
#
#
#
#
%
#
%
#
#
+
*
*
+
#
#
%
*
%
#
%
%
#
%
#
#
%
#
*
#
#
#
#
#
#
#
%
*
#
+
#
+
=
=
*
=
=
+
-
#
=
=
#
=
=
=
+
+
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
+
=
=
=
=
-
=
=
-
=
+
=
-
=
-
-
-
=
=
=
+
=
=
=
-
-
=
-
=
=
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
%
*
+
+
*
+
*
=
-
-
-
-
-
-
-
-
-
+
*
*
%
#
%
#
#
#
#
=
#
#
%
+
*
#
*
#
#
*
#
%
*
*
+
#
%
%
#
#
%
*
#
%
*
*
*
*
#
#
#
%
#
#
#
=
*
=
:
%
=
*
*
-
:
+
-
=
=
+
+
%
#
*
#
#
*
+
*
*
=
=
=
=
-
=
=
=
=
=
=
-
+
=
=
=
=
=
=
=
=
-
-
=
-
=
-
=
=
=
-
-
=
+
-
=
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
%
+
*
*
*
*
*
=
-
-
-
-
-
-
-
-
+
#
#
#
#
#
#
#
#
#
%
=
#
#
+
#
*
#
+
#
*
%
#
%
+
+
%
#
#
#
*
*
+
*
*
%
+
#
#
#
#
*
#
#
%
@
%
#
#
*
+
=
#
#
%
+
+
=
=
-
+
*
#
*
*
=
=
%
+
+
+
=
+
=
+
-
+
+
=
=
=
=
+
=
=
=
+
=
+
+
=
-
-
=
-
=
=
-
=
=
=
-
=
-
-
=
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
%
*
*
+
*
=
-
-
-
=
-
-
-
-
-
-
#
#
#
#
#
#
*
%
#
+
#
#
*
+
*
*
*
#
*
*
*
#
+
+
#
%
%
+
%
=
=
+
+
*
#
#
*
#
*
%
%
%
#
#
=
+
=
+
#
+
#
=
%
-
=
=
=
+
+
*
*
*
#
#
+
#
*
+
*
+
+
*
+
=
=
=
+
+
=
=
=
=
+
=
=
-
=
-
=
-
-
-
-
=
=
=
-
=
-
=
-
-
=
=
-
-
-
-
-
-
-
=
-
-
-
=
-
=
-
-
-
-
-
+
=
=
=
=
-
-
-
-
-
-
-
-
%
+
+
*
*
+
+
+
-
-
-
-
-
-
-
-
=
#
#
*
#
%
%
%
%
*
%
%
+
+
*
#
#
%
*
=
*
#
*
*
+
#
#
*
*
#
#
%
#
+
=
+
-
+
+
#
#
#
#
#
%
#
#
#
=
+
+
+
+
*
+
+
#
=
=
+
*
+
#
*
+
+
#
+
#
*
*
*
#
#
*
=
=
=
=
=
=
+
=
=
-
-
=
=
+
=
=
-
=
=
-
-
-
=
-
=
=
-
-
=
=
-
-
=
=
-
=
=
=
-
-
-
-
-
+
-
-
-
-
-
+
+
+
+
#
+
+
#
#
#
#
*
*
#
+
*
*
*
+
*
+
*
+
=
+
-
=
-
-
-
*
#
%
%
#
%
#
#
%
+
+
#
%
@
=
+
+
+
#
+
#
#
*
+
#
#
%
+
=
+
=
+
=
*
#
*
#
*
#
*
#
%
#
%
#
=
+
+
+
+
*
+
+
+
-
-
+
+
*
#
#
#
*
%
*
*
*
*
#
*
+
+
+
-
+
=
+
+
=
=
+
+
=
=
=
=
=
+
=
-
=
-
=
-
=
+
=
+
=
=
=
=
-
=
-
-
=
=
=
=
=
=
=
=
*
=
=
+
*
+
#
#
+
+
=
=
*
+
*
*
*
*
#
#
#
*
*
*
+
*
*
=
=
*
+
*
=
=
=
=
*
#
#
*
%
@
@
#
%
*
#
#
+
#
%
%
#
-
+
=
=
=
+
+
=
+
+
+
*
%
+
+
*
=
+
=
+
=
*
#
#
*
#
#
#
*
*
*
#
%
-
*
=
+
+
+
=
=
:
#
-
=
=
+
+
*
*
*
+
=
#
#
*
#
*
*
*
=
=
=
=
=
=
=
=
+
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
=
-
=
=
-
*
+
*
*
#
+
*
#
*
*
*
*
#
*
#
*
*
#
#
+
*
*
*
*
*
*
#
#
*
*
=
*
#
%
%
*
#
%
@
%
@
%
#
%
#
=
*
%
%
%
#
=
=
=
=
=
+
-
=
*
=
+
=
=
+
+
+
+
+
+
#
#
+
+
#
*
#
#
#
*
#
#
#
#
#
=
=
=
=
+
+
#
*
=
+
#
=
=
=
*
+
#
#
#
:
*
+
+
+
%
%
%
%
%
#
+
+
+
+
+
=
+
+
+
+
=
+
=
+
=
-
+
=
=
=
+
=
-
+
+
+
=
=
+
=
+
+
=
=
=
=
=
=
+
*
*
%
%
#
*
+
*
#
*
#
%
#
*
*
#
#
+
#
#
*
*
*
*
*
*
#
*
%
#
%
%
%
%
%
%
%
#
%
@
@
#
%
#
#
#
+
%
%
%
%
=
=
*
*
*
#
%
#
*
+
*
*
#
=
#
*
*
*
=
=
=
*
#
#
%
*
*
*
#
-
+
+
=
-
=
+
=
+
*
#
+
*
+
#
#
*
*
:
=
=
+
#
#
#
%
%
#
*
=
+
=
+
=
=
=
=
=
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
=
=
=
=
=
#
#
%
%
#
#
#
=
+
#
*
#
+
+
=
+
+
+
=
+
=
*
#
*
*
*
*
*
+
+
*
%
%
%
%
#
%
#
#
%
#
%
%
%
%
#
#
#
#
+
#
#
%
%
#
#
#
*
#
#
#
*
#
#
*
#
%
+
+
+
=
+
+
+
#
*
+
*
#
#
*
#
*
#
#
+
+
+
=
=
#
*
-
*
-
=
+
+
*
#
*
=
*
=
+
%
#
#
#
#
#
=
+
#
=
=
=
+
+
=
=
=
+
=
+
+
+
+
=
=
+
+
=
=
+
+
=
=
=
+
+
+
+
+
=
*
+
+
%
#
#
%
%
#
#
=
*
+
#
%
#
=
=
+
=
+
=
=
=
*
*
#
*
#
*
+
*
+
+
#
%
#
%
#
#
#
#
%
#
#
@
@
%
%
#
#
+
%
%
%
%
%
#
%
%
%
%
#
#
#
%
%
%
*
#
#
%
*
#
*
+
+
*
#
#
#
#
#
#
*
%
#
#
#
=
*
=
-
*
#
+
*
=
#
#
*
-
#
+
*
+
-
-
+
#
+
#
%
#
#
*
#
#
+
+
+
#
+
+
=
+
+
=
+
=
=
+
=
+
+
=
#
=
+
=
+
+
=
+
=
#
+
+
+
+
=
*
+
*
=
=
+
-
#
%
#
#
#
%
%
%
*
=
+
+
%
%
%
=
+
+
=
+
+
=
=
*
#
#
#
*
#
*
*
+
+
*
%
%
%
#
%
#
%
#
%
#
%
%
%
%
#
#
#
+
%
@
%
%
%
%
*
*
+
%
%
%
%
%
*
+
#
+
%
%
%
%
%
%
%
%
%
%
%
*
#
#
%
=
#
=
=
+
#
*
#
*
=
+
=
=
*
*
*
+
=
=
#
+
=
#
*
#
%
*
#
*
=
+
+
#
+
+
*
*
+
*
=
*
+
+
=
+
*
+
*
*
+
*
+
+
%
*
+
+
+
+
*
*
%
=
+
#
#
#
#
#
#
@
%
#
#
=
+
*
#
#
#
-
+
+
+
=
+
=
+
*
#
#
*
*
*
*
*
*
*
*
#
#
%
%
%
%
#
%
#
#
#
%
%
%
#
#
#
#
+
%
%
%
%
%
%
%
*
*
=
%
%
#
%
-
#
#
+
*
%
@
%
%
%
%
%
*
*
*
*
#
#
#
#
=
*
=
*
#
*
*
+
+
%
=
+
-
#
#
*
=
+
*
#
#
#
#
*
=
*
+
*
*
*
#
*
#
=
=
+
#
#
+
+
*
*
#
*
+
+
*
=
*
*
#
*
#
*
*
*
#
#
#
#
+
:
=
#
#
#
#
#
#
#
%
#
#
+
*
*
=
=
#
+
+
-
-
=
*
#
#
#
*
*
*
*
*
*
#
#
%
%
%
%
#
%
#
#
#
%
%
%
%
%
#
#
#
+
%
%
%
@
%
%
%
%
%
%
*
*
*
#
%
#
*
=
%
#
+
#
%
#
%
@
%
%
%
%
%
#
#
+
*
#
%
#
=
*
+
=
+
#
+
+
*
=
#
=
=
=
*
#
*
+
=
=
*
*
=
*
#
#
#
+
*
#
*
#
*
#
#
#
#
=
=
+
+
*
#
%
%
#
+
+
+
+
*
*
*
#
*
*
#
+
=
=
-
-
=
-
=
#
#
#
%
%
#
%
#
#
*
=
+
+
*
#
#
=
*
+
-
=
=
*
#
#
#
*
#
#
*
*
*
#
#
@
%
%
%
%
#
#
%
#
#
%
%
#
*
%
%
%
%
#
#
*
*
*
*
*
*
%
*
%
*
+
#
#
#
%
%
%
#
#
+
#
#
%
%
+
#
*
*
*
=
=
+
*
+
+
+
#
=
=
=
#
+
#
+
*
-
-
+
+
=
#
*
#
#
#
#
*
+
+
=
+
=
+
+
*
+
#
#
#
#
#
#
%
#
+
=
+
*
#
*
*
*
*
+
*
*
*
#
+
+
+
-
=
=
=
#
%
%
%
%
#
%
#
#
%
=
+
+
*
%
#
=
+
=
*
+
%
%
#
%
%
%
#
*
%
*
#
#
#
%
@
%
@
%
%
#
#
#
*
#
#
%
*
*
#
#
@
%
*
@
%
#
*
#
+
#
*
*
#
*
%
+
=
#
#
+
%
@
#
#
#
#
*
*
#
%
%
*
#
*
*
#
*
%
=
*
=
=
#
#
=
+
+
=
*
=
=
#
+
#
*
*
:
=
*
=
#
*
*
#
*
+
+
=
+
=
=
+
+
*
+
*
#
#
#
*
#
#
#
#
%
#
#
+
*
+
+
=
+
#
+
+
=
=
=
+
#
#
#
*
#
#
%
%
%
#
=
+
+
#
%
=
+
=
=
*
#
*
#
%
*
#
#
*
*
*
#
#
%
%
%
@
%
*
%
#
@
%
%
#
#
#
+
%
%
@
%
%
*
#
*
+
#
*
+
*
*
*
%
#
%
+
+
=
#
%
%
#
#
*
%
#
#
%
@
#
+
+
%
#
%
#
+
*
=
*
#
-
#
=
+
#
=
=
=
*
+
%
+
*
-
*
%
+
+
*
#
#
#
*
#
+
*
=
*
+
#
#
*
#
*
#
=
#
%
#
#
#
#
#
%
#
#
*
+
*
=
=
#
#
+
+
+
#
#
#
#
*
#
#
#
%
%
#
%
%
%
#
=
*
*
*
%
#
=
*
%
#
%
#
%
*
+
*
#
*
#
#
%
@
%
@
@
@
@
%
#
#
%
%
%
#
%
%
#
#
%
=
%
@
%
%
*
#
*
*
#
*
*
#
*
*
*
+
+
+
*
*
%
#
%
#
#
*
#
*
*
*
+
#
#
%
#
+
+
+
=
=
+
=
=
+
+
#
+
=
*
*
#
+
=
+
#
+
#
#
#
#
#
*
+
+
+
+
*
#
#
#
*
+
*
#
%
#
%
#
#
*
%
#
*
+
*
+
=
=
*
+
*
+
+
%
*
#
#
#
=
#
#
#
#
#
@
#
*
*
+
*
%
#
=
+
#
#
#
*
=
+
#
+
=
*
%
#
%
%
@
%
#
%
%
@
%
#
#
%
#
%
#
%
#
#
#
%
+
%
%
@
%
#
+
*
#
*
#
*
=
*
=
#
+
+
=
+
*
#
%
@
%
%
%
=
*
*
+
#
+
+
#
=
*
=
+
=
+
+
+
=
=
*
+
#
#
+
#
+
=
%
#
*
*
*
*
#
#
#
+
+
*
*
#
#
#
%
%
+
*
*
#
%
*
#
#
#
#
*
%
#
+
=
+
=
%
*
%
%
#
#
%
%
#
%
%
#
*
+
%
#
#
%
%
=
+
+
#
%
=
=
#
*
+
+
=
=
+
+
#
#
#
%
%
%
%
%
%
%
%
%
%
#
%
#
#
%
%
%
*
%
%
#
+
%
%
@
@
%
#
#
*
*
*
*
+
+
+
*
+
=
+
%
%
%
%
%
%
*
*
*
=
#
+
*
*
*
%
*
#
%
%
%
%
#
+
*
+
*
+
=
*
#
#
=
+
+
+
*
*
#
#
#
*
+
#
*
#
#
+
#
#
%
%
%
*
#
#
%
%
#
*
+
*
*
+
*
#
%
%
*
#
*
#
#
#
#
+
#
*
#
#
%
#
=
*
*
#
@
%
=
*
*
-
-
-
-
=
=
=
=
*
#
%
#
%
#
%
#
#
#
@
%
%
#
%
%
%
#
%
%
+
%
#
#
%
=
%
@
@
%
*
*
*
*
#
+
*
=
+
*
+
+
%
%
%
%
%
#
#
%
*
#
#
=
#
*
+
#
%
%
+
+
=
+
=
+
+
*
#
=
=
=
=
=
#
+
#
*
=
*
+
+
*
#
%
*
#
+
*
#
#
+
+
%
#
#
%
%
#
#
%
%
#
%
#
%
#
*
#
*
=
*
+
+
=
=
#
%
#
#
#
#
#
*
*
#
#
%
#
#
#
*
#
=
*
+
#
+
#
=
+
#
#
=
%
=
=
+
*
%
%
@
%
%
#
%
%
%
#
%
%
%
%
%
#
%
%
%
%
*
%
#
#
%
%
@
@
%
#
#
*
#
#
*
+
+
=
*
=
*
%
%
*
#
*
*
=
+
+
=
%
#
#
+
+
=
*
%
+
=
*
*
+
#
*
*
+
+
=
*
%
#
%
*
-
=
+
*
+
*
#
#
#
#
#
*
*
#
#
*
#
#
#
%
#
#
#
#
#
#
#
#
#
#
*
=
+
=
=
+
*
#
%
#
#
*
#
#
#
#
#
%
#
%
*
#
%
#
*
=
*
*
#
#
#
=
*
%
*
+
#
#
-
=
=
=
*
%
@
%
%
#
%
%
%
%
%
#
@
%
#
#
#
*
*
#
#
#
#
#
#
#
#
+
#
%
@
%
#
*
*
*
*
*
+
:
-
:
-
-
-
*
%
%
#
#
#
%
+
-
-
=
%
#
*
-
-
#
%
*
#
+
=
%
#
#
*
*
#
#
*
*
+
*
#
%
#
#
=
=
+
*
=
*
*
*
*
#
+
#
%
#
#
*
#
#
#
#
#
%
@
#
#
#
#
*
#
#
#
#
#
#
+
@
#
*
#
#
#
%
#
%
%
#
#
#
#
#
#
#
#
%
%
%
#
+
+
#
%
#
*
+
*
#
+
#
*
=
=
=
*
#
%
%
%
#
%
#
#
@
*
@
%
%
%
#
#
#
#
@
%
#
#
*
#
*
*
%
@
%
%
*
#
*
#
#
+
-
-
-
-
:
=
%
%
*
#
%
%
#
*
+
=
+
#
#
=
%
%
+
*
+
=
#
#
*
#
#
%
+
*
#
*
%
#
=
+
+
*
#
#
*
#
*
*
*
%
#
#
#
#
*
#
*
#
#
%
#
#
#
%
%
#
#
%
#
%
*
=
=
+
%
*
+
+
#
#
%
#
#
#
#
*
*
#
#
#
#
*
%
%
#
+
#
*
%
*
#
*
#
%
#
+
+
+
+
+
+
%
@
%
%
#
#
#
%
%
#
%
#
%
%
#
#
%
%
%
@
%
%
@
%
%
%
%
#
%
%
%
%
*
*
*
#
*
=
%
=
*
+
+
%
%
#
#
+
=
:
-
=
=
=
=
-
-
=
%
%
%
%
#
#
%
%
%
%
%
#
*
*
+
#
%
#
%
=
#
#
=
*
#
*
#
*
#
+
#
+
=
#
#
#
#
#
*
#
*
*
#
*
#
@
*
#
#
%
#
%
*
=
+
%
*
%
#
*
%
#
%
*
#
#
%
*
%
#
*
#
@
%
%
#
+
#
#
%
*
#
+
#
#
#
=
#
%
#
#
#
%
%
@
%
#
%
#
#
#
%
@
#
*
+
%
%
@
@
@
@
@
@
%
%
%
%
*
%
%
#
*
#
#
#
*
*
+
*
+
*
+
*
%
%
%
%
#
#
#
%
+
=
#
+
+
*
#
+
=
#
%
+
*
+
=
%
#
*
+
%
%
#
+
#
+
*
#
%
#
#
+
%
+
+
#
*
#
*
*
#
+
=
%
#
%
%
#
#
%
#
#
#
#
#
#
#
*
#
*
#
#
#
#
+
*
#
+
+
*
*
+
%
#
*
*
*
#
#
#
*
#
*
#
%
#
#
#
#
%
#
#
=
+
#
%
=
*
#
#
#
#
%
%
%
%
#
%
%
#
#
#
%
#
+
#
#
#
%
@
%
@
%
%
%
#
%
%
%
%
*
@
%
%
#
=
*
#
*
#
+
+
*
=
=
#
#
%
@
%
%
#
@
%
+
+
#
+
%
*
+
*
=
#
%
+
@
*
+
+
#
*
+
%
=
*
+
#
%
@
#
#
+
*
+
+
=
*
*
+
*
*
*
#
*
%
+
%
#
#
*
*
#
%
#
#
%
#
#
*
%
%
@
%
%
@
@
%
#
%
#
*
#
#
%
#
#
#
#
*
#
#
#
#
#
%
#
#
*
#
%
#
#
%
#
%
=
#
@
#
=
#
*
%
#
#
#
%
@
#
#
#
%
#
#
%
%
#
#
*
#
#
#
@
@
@
@
@
%
@
%
@
#
#
#
*
=
+
#
#
#
*
*
*
=
+
+
#
%
%
%
%
#
%
#
+
+
+
*
@
*
+
=
*
%
%
#
+
*
+
+
=
#
%
+
#
#
*
*
%
#
%
+
*
*
=
*
#
+
+
#
#
#
*
#
%
#
%
%
%
#
#
%
%
#
#
#
*
#
#
#
%
#
#
#
#
+
*
#
%
#
%
#
#
%
#
#
#
*
#
%
#
%
%
%
%
@
%
*
#
*
*
#
%
#
%
#
*
+
+
%
#
=
%
%
%
#
*
%
%
#
#
%
%
*
%
#
#
#
#
#
#
@
%
@
@
%
@
@
@
%
@
@
#
@
%
%
%
#
#
*
#
%
#
#
-
-
=
*
+
*
%
%
%
@
@
%
#
+
+
=
*
@
*
*
%
+
=
+
+
=
*
+
+
*
+
*
*
*
+
*
#
#
*
#
%
#
+
+
=
=
*
%
@
%
+
%
%
*
+
%
@
%
%
#
#
%
%
%
#
#
+
+
*
*
+
+
#
*
+
+
*
#
#
*
#
*
#
#
#
%
#
@
@
%
%
%
@
%
%
%
%
*
+
+
*
#
*
#
+
=
=
*
+
+
#
#
+
%
%
%
+
@
@
*
%
#
#
#
#
%
%
%
@
%
@
%
%
@
@
*
#
%
=
*
#
#
#
*
+
=
=
=
=
+
=
*
%
%
*
%
#
#
%
+
=
+
+
#
#
=
=
+
+
#
%
+
+
+
+
#
#
#
#
%
%
%
#
#
*
+
*
#
@
+
*
*
#
*
*
%
#
%
#
*
#
#
*
*
#
%
#
#
*
%
%
+
%
%
*
#
#
+
+
#
*
*
#
#
#
#
%
%
#
#
#
#
#
#
#
#
#
#
#
#
*
*
#
*
%
#
*
#
+
*
+
%
%
+
*
%
%
%
*
*
#
=
*
+
=
=
+
+
+
+
#
#
#
#
#
#
@
%
#
@
%
@
%
%
@
%
%
#
%
=
#
#
#
+
+
*
+
+
=
#
%
#
#
%
+
#
*
*
#
+
*
%
+
+
+
+
+
*
#
-
=
=
=
+
%
+
=
#
+
%
#
%
%
*
=
*
%
+
*
%
#
*
#
+
+
+
#
*
#
#
*
+
*
%
#
#
#
#
*
#
#
%
#
#
#
#
#
%
%
#
*
+
+
#
*
#
+
#
*
*
#
#
#
*
*
#
#
#
#
#
%
#
*
#
@
*
*
@
@
%
#
*
+
%
#
#
*
%
#
%
%
%
%
+
%
@
%
%
=
=
=
=
+
%
%
%
#
*
*
*
+
#
@
#
+
*
%
%
*
%
%
*
%
=
+
*
#
*
#
*
+
+
+
+
=
=
=
=
=
%
%
=
=
=
=
+
+
#
+
+
=
=
+
%
*
+
+
*
+
+
+
*
#
%
%
*
%
#
%
#
%
%
#
*
#
+
+
#
#
*
+
*
#
#
*
*
#
#
%
#
%
#
#
#
#
*
%
%
@
*
#
#
+
*
*
*
+
*
#
#
*
*
#
#
#
#
#
#
*
#
#
%
%
%
%
#
%
%
%
%
%
%
*
%
%
%
#
@
%
%
%
%
*
%
%
%
@
@
#
%
#
%
%
%
#
#
#
*
*
+
%
@
%
+
*
#
#
#
%
%
%
#
#
+
%
#
%
#
*
=
+
+
=
=
=
+
#
+
+
*
#
*
+
*
%
*
=
#
*
+
#
+
+
*
#
%
*
+
*
+
+
#
#
*
+
*
#
@
%
#
*
#
%
%
%
+
#
+
#
#
#
+
*
#
*
#
+
#
#
#
#
#
#
*
#
#
#
*
#
%
%
@
%
%
*
*
*
*
#
#
*
#
#
#
#
*
#
*
#
%
#
*
+
#
%
%
%
+
*
#
+
=
#
*
%
+
*
#
*
#
%
*
%
@
#
%
%
%
@
@
@
#
%
+
*
+
%
#
#
@
%
%
%
%
*
*
#
#
#
%
#
#
#
#
#
%
%
#
*
#
#
*
+
*
*
%
+
*
#
+
+
*
+
+
+
#
+
+
+
+
#
+
+
*
+
+
*
*
+
#
#
%
%
*
*
+
+
#
#
%
*
#
+
+
#
#
#
#
#
+
*
+
#
*
*
#
#
*
#
%
#
*
*
#
#
*
*
%
%
#
#
#
*
#
*
*
#
#
*
#
#
*
#
#
*
#
*
#
*
*
*
%
%
%
%
%
@
%
#
#
*
*
#
#
#
%
#
*
#
#
#
#
%
%
@
%
@
%
%
%
%
*
%
#
*
%
%
@
#
#
#
#
#
#
#
%
%
*
#
+
%
%
#
+
+
+
+
+
+
*
*
*
+
=
+
+
+
+
#
*
+
*
@
+
+
*
+
+
+
+
*
#
#
%
*
+
*
%
#
#
*
+
*
#
%
*
%
#
*
*
+
*
*
#
%
#
*
#
*
#
#
#
#
%
#
#
%
#
#
#
#
+
*
#
+
#
#
#
#
#
#
#
*
#
*
#
*
#
*
*
*
#
%
#
#
#
*
#
+
*
#
#
*
#
#
#
#
#
#
#
%
#
#
%
%
@
%
@
%
%
#
#
%
%
*
#
#
%
@
@
%
%
#
%
+
#
#
*
#
#
%
#
%
*
*
=
*
*
+
+
+
+
+
=
+
#
#
#
*
#
*
#
*
+
+
+
+
#
+
+
*
*
*
%
#
+
+
+
+
+
+
+
+
#
#
#
*
#
+
*
#
*
#
#
+
%
%
*
+
#
#
#
#
#
*
*
+
#
*
*
#
*
#
#
#
#
#
#
*
*
*
#
#
#
*
*
*
*
%
#
#
#
*
+
#
#
#
*
*
#
#
#
#
#
*
*
*
*
#
*
*
#
#
*
#
%
*
#
*
*
*
#
%
%
%
%
@
%
%
%
%
#
%
%
*
*
%
#
%
%
@
%
*
%
%
*
#
#
*
#
#
#
%
#
#
=
#
*
#
*
+
+
=
+
+
*
#
*
#
#
#
#
+
+
+
+
*
%
*
+
#
+
+
#
%
*
#
*
+
+
*
+
#
+
*
*
+
+
*
#
*
%
*
#
%
*
#
*
+
#
*
*
%
*
#
*
+
#
*
#
#
#
*
#
#
#
*
#
#
#
*
#
#
*
#
#
*
*
#
*
#
#
*
#
#
*
*
=
*
#
*
#
#
#
#
#
#
%
#
%
#
*
%
#
#
#
*
#
#
#
#
#
@
#
#
*
#
@
@
@
@
@
%
%
%
%
%
#
%
%
#
+
%
#
%
#
%
%
%
@
%
#
%
%
*
%
#
*
#
+
#
%
#
+
#
+
+
+
*
+
#
#
*
#
*
#
*
*
+
+
+
+
+
#
#
+
*
#
*
+
*
*
+
+
#
*
*
*
+
*
#
*
#
#
#
#
#
*
*
#
*
*
*
#
#
#
#
*
*
*
*
=
=
+
*
*
#
*
=
#
#
*
*
%
#
#
*
*
#
*
#
*
#
*
*
#
#
#
+
+
*
#
#
#
*
#
#
*
#
#
#
*
#
#
*
#
#
#
*
*
+
#
*
#
%
@
*
*
#
#
%
@
#
%
%
%
%
@
%
#
%
#
%
%
%
#
*
#
*
%
%
%
@
%
@
%
#
%
%
#
%
%
%
%
*
#
*
#
+
*
+
*
+
*
+
*
#
#
#
#
*
+
*
+
*
#
*
#
*
+
#
*
*
#
+
#
#
#
*
*
#
#
+
%
#
#
*
#
#
#
*
+
*
+
#
#
#
*
%
*
*
*
*
#
+
=
*
#
*
%
#
+
*
*
%
%
#
*
*
#
*
#
#
*
*
*
*
*
#
#
*
#
*
=
#
#
*
#
#
#
#
#
*
%
#
#
#
%
*
*
#
#
*
*
#
*
*
#
%
*
#
#
#
*
%
%
%
%
%
%
%
%
%
#
%
%
%
#
#
%
*
*
%
@
@
#
@
%
@
@
%
#
%
#
%
%
%
*
#
*
*
%
%
%
*
%
+
#
#
*
#
#
*
*
*
#
#
+
+
#
*
+
#
*
*
#
+
*
*
*
*
*
*
*
+
*
#
*
#
+
*
*
#
*
*
#
#
#
#
*
*
*
@
#
@
#
*
+
%
+
*
*
*
*
%
*
@
#
#
%
%
#
#
*
#
*
#
#
*
#
*
#
*
#
%
*
*
#
*
#
#
*
#
#
%
#
#
*
#
#
#
*
*
*
*
%
%
%
%
%
%
%
%
@
%
%
@
@
@
%
#
#
%
%
%
#
#
%
%
%
%
@
@
#
%
%
@
@
@
@
%
%
%
@
%
@
%
#
#
%
%
%
%
*
*
%
#
*
*
#
#
#
*
*
#
*
*
#
+
*
+
*
*
#
#
*
*
*
+
#
*
*
#
#
%
*
*
#
*
*
#
*
#
*
*
+
*
#
%
@
#
*
#
#
*
%
#
*
#
+
*
*
%
@
%
%
@
#
*
#
%
#
*
*
*
#
*
*
*
*
*
#
*
#
%
=
*
#
*
#
#
*
*
#
#
#
*
#
*
#
#
#
#
#
*
#
#
#
#
%
%
%
%
%
@
@
%
%
@
@
%
@
%
@
#
*
%
*
%
#
%
@
%
%
%
@
%
@
%
@
%
%
%
@
@
%
%
%
%
%
%
#
#
+
*
#
#
#
#
#
+
#
*
*
+
#
*
+
*
*
*
#
#
*
#
*
*
*
*
#
#
*
*
#
*
#
*
%
%
%
*
%
*
%
%
%
%
*
%
%
@
#
*
*
*
#
#
%
%
%
*
%
%
%
%
@
%
%
%
#
%
#
*
#
*
#
*
#
*
#
*
#
#
%
*
#
*
#
#
*
#
#
#
*
#
*
*
#
#
*
*
#
#
#
*
*
*
*
#
*
#
%
@
@
%
%
%
%
%
@
%
@
%
@
@
%
@
@
*
%
%
#
%
@
#
@
%
@
%
%
@
%
%
#
@
@
%
%
#
#
*
#
#
#
+
*
+
+
#
*
#
%
#
+
%
*
#
*
#
*
+
*
#
*
*
+
*
+
*
*
*
#
*
*
#
*
*
*
*
*
*
#
*
=
*
%
@
@
%
%
@
%
%
@
%
@
@
@
@
%
*
%
%
+
%
%
%
%
%
%
@
@
%
%
%
%
%
%
*
#
#
*
%
%
%
#
#
#
%
*
#
*
#
*
*
*
#
#
*
*
*
#
#
=
=
*
*
*
#
#
*
#
*
#
*
*
#
*
*
*
%
*
#
%
%
%
@
@
%
%
@
%
%
%
@
%
+
@
=
%
%
%
%
*
@
@
%
%
@
%
%
@
%
%
%
*
*
+
*
*
*
+
*
+
*
#
+
*
#
#
#
#
#
*
+
*
+
+
#
*
+
+
+
*
#
#
*
#
*
*
*
*
*
#
*
*
#
*
#
#
*
*
#
%
%
%
@
%
%
%
%
%
%
@
%
%
%
@
%
#
%
%
#
%
@
@
@
%
%
%
#
%
%
%
%
%
@
@
%
#
%
@
%
%
%
*
*
#
*
#
#
#
#
#
#
*
#
=
+
=
#
#
*
#
#
#
*
#
#
#
#
*
#
@
@
%
#
#
#
%
@
@
%
#
#
%
%
@
@
@
*
=
%
%
@
%
#
#
%
%
@
@
@
@
+
@
%
%
#
#
*
*
*
#
#
*
*
#
*
*
#
#
*
*
*
#
*
*
*
*
+
+
+
+
*
*
#
#
+
*
*
*
*
*
+
+
*
*
*
#
*
*
#
*
#
#
#
*
#
#
#
#
#
%
#
*
*
%
@
@
#
*
*
*
%
%
@
@
@
@
@
@
@
%
%
@
%
@
%
@
%
%
%
%
#
#
*
#
#
*
*
*
#
*
*
*
*
#
*
=
*
-
#
*
#
#
#
#
*
*
*
#
#
*
%
@
@
%
#
@
@
@
@
%
#
%
#
%
@
@
%
*
#
*
%
%
%
*
%
@
%
@
%
@
+
%
%
%
#
#
#
#
#
*
+
#
*
+
*
*
#
#
#
*
#
#
#
#
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
#
*
*
*
*
*
#
*
*
#
#
*
%
%
%
@
@
@
%
@
@
@
@
@
@
@
@
@
%
%
%
#
#
#
*
*
#
#
#
#
#
*
*
*
#
#
*
*
#
#
*
+
-
#
*
*
#
#
#
*
#
#
*
*
*
@
@
@
@
@
#
#
#
#
%
@
@
%
%
#
#
#
%
@
@
@
@
@
%
*
%
%
*
#
%
%
%
%
%
*
+
%
%
@
*
#
#
#
#
#
*
*
*
*
*
#
#
*
*
#
*
#
+
=
*
*
*
*
+
+
*
*
*
#
#
*
#
*
*
#
+
*
*
*
*
*
*
*
*
*
*
*
#
*
*
#
*
#
*
*
#
*
+
*
*
#
*
#
*
*
*
#
%
%
%
%
%
%
#
%
#
#
#
%
#
*
#
*
*
#
#
#
#
*
#
#
*
*
*
*
*
*
*
*
*
*
*
*
#
+
#
#
*
#
*
#
#
*
*
+
=
*
#
%
@
%
%
@
*
%
%
#
@
@
@
@
@
%
*
#
#
#
@
%
%
@
@
@
@
%
%
%
%
*
*
#
+
+
%
%
%
@
#
*
*
#
*
*
*
*
*
*
*
*
*
*
#
#
#
*
*
*
*
*
*
*
*
*
*
*
#
*
#
*
*
*
#
*
*
*
*
*
#
*
#
*
#
*
*
#
#
*
*
#
*
#
#
*
*
*
#
*
%
#
*
*
*
+
*
*
*
*
#
#
*
*
%
#
*
#
#
*
*
#
*
*
*
#
#
*
#
#
#
#
#
*
#
*
*
#
*
*
#
+
=
%
*
*
*
#
#
#
#
*
*
+
+
#
@
@
%
@
@
%
%
%
@
@
%
@
%
#
%
@
%
%
@
%
@
@
%
@
@
@
@
@
%
@
@
%
*
*
*
*
#
#
*
*
#
*
*
*
*
*
*
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
*
*
*
#
*
#
*
*
*
*
*
*
#
*
*
*
#
#
*
#
*
*
#
#
#
*
*
*
*
*
#
#
*
*
#
*
*
*
#
#
*
*
#
*
#
#
#
#
#
*
*
#
*
*
*
#
#
#
*
#
#
#
*
*
=
#
#
#
#
*
#
#
*
#
=
#
#
%
%
@
@
@
#
#
%
%
@
@
@
%
%
@
@
%
@
@
@
@
@
@
@
%
@
%
%
%
%
%
@
%
#
*
*
*
#
*
*
*
*
*
*
#
*
*
*
*
*
*
#
#
*
*
*
*
#
*
#
#
#
*
*
*
*
*
*
*
*
#
*
#
*
*
*
#
*
*
#
*
*
*
*
#
*
#
*
#
*
*
*
*
#
#
#
*
*
*
*
*
*
*
*
*
*
#
#
#
#
#
#
*
#
*
#
*
#
*
#
*
*
*
*
*
#
*
*
#
#
+
%
%
*
#
*
#
#
*
*
%
%
*
*
%
%
*
%
%
%
@
@
%
@
%
@
@
@
%
@
%
%
@
%
%
@
%
@
@
@
@
@
@
@
@
@
%
%
@
*
#
#
*
#
*
*
*
*
*
*
*
#
*
#
*
#
*
#
*
*
*
*
*
*
*
#
*
#
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
*
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
#
#
*
#
*
*
*
*
#
*
*
#
*
#
*
#
*
#
#
*
*
#
*
*
#
#
#
#
#
*
#
*
#
*
*
%
@
%
@
%
@
%
@
%
%
%
%
%
%
%
%
%
%
%
@
%
@
%
@
@
%
@
%
%
%
%
%
%
%
@
%
@
@
%
%
@
%
@
%
%
@
%
@
*
*
*
*
*
*
*
*
*
*
*
#
#
#
#
#
*
#
*
#
#
*
#
*
#
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
#
#
*
#
#
*
*
*
*
*
*
*
*
#
*
#
#
#
*
*
*
*
*
#
*
#
#
*
*
#
#
*
#
#
#
#
#
#
#
#
#
*
*
*
%
%
@
@
@
@
@
%
@
%
%
%
%
%
%
@
%
*
%
%
%
@
%
%
%
#
%
#
%
%
%
%
%
%
%
%
%
%
%
%
%
@
@
@
%
%
@
@
%
@
@
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
#
#
*
#
*
#
#
*
#
*
#
*
#
*
#
*
#
*
*
*
*
*
*
*
#
#
#
#
#
*
#
#
*
*
*
*
#
#
*
#
#
*
#
#
#
#
#
#
*
*
#
*
*
*
#
#
*
*
*
*
#
*
#
#
*
#
#
#
#
*
*
*
*
*
*
*
#
#
*
#
*
#
#
*
#
#
%
%
%
%
@
@
%
#
#
%
%
%
%
%
#
#
*
#
#
#
#
#
*
*
*
#
*
*
*
#
#
%
@
%
@
%
%
%
@
%
%
%
%
%
%
+
+
=
+
=
+
=
+
=
+
+
+
+
=
+
+
+
=
+
+
=
+
=
+
=
+
+
+
+
+
+
+
=
+
=
+
+
=
+
+
+
+
+
+
+
=
=
=
=
=
=
=
=
+
=
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
+
=
+
=
+
=
+
=
*
+
*
+
*
+
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
+
%
+
=
=
+
+
+
=
+
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
=
+
+
=
+
=
=
=
+
=
=
+
=
=
+
=
+
=
=
=
=
=
+
=
+
+
=
+
+
=
+
=
+
=
=
+
+
+
=
=
=
=
=
=
+
=
+
=
=
=
=
+
=
=
=
+
=
+
=
+
=
=
=
=
+
=
+
+
=
=
+
=
+
=
=
=
+
+
=
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
=
=
-
-
=
-
-
=
-
=
-
-
=
-
-
=
=
=
+
%
+
=
=
+
+
+
=
=
+
=
=
=
=
=
=
+
+
=
=
+
=
=
+
+
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
-
=
=
=
=
=
-
=
-
=
-
=
-
=
-
-
=
-
-
=
-
=
=
=
=
%
%
+
=
+
=
+
=
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
+
+
+
=
=
=
+
+
+
=
+
=
+
=
+
+
=
+
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
-
=
-
=
-
-
-
-
-
-
=
=
=
=
-
=
=
=
-
-
=
-
=
%
@
+
=
+
=
+
=
+
=
=
=
+
=
=
+
=
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
+
=
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
-
=
-
=
=
-
=
-
=
-
=
=
=
-
-
-
-
-
-
-
=
=
=
=
=
#
%
+
=
=
=
=
=
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
=
+
=
+
=
+
=
=
+
+
+
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
-
=
-
-
-
=
-
=
-
-
-
-
=
=
-
=
-
=
-
=
=
-
=
-
=
-
*
%
+
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
+
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
+
=
=
+
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
=
+
=
=
=
=
-
=
-
=
=
=
=
-
=
=
-
=
=
-
-
-
=
-
=
-
-
=
-
-
=
-
-
-
-
=
-
=
-
=
=
*
@
#
+
=
=
+
=
=
=
=
=
=
=
+
=
=
+
+
=
=
=
=
=
+
=
=
=
=
=
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
+
=
+
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
-
=
=
-
-
-
=
-
-
=
-
-
-
=
=
-
-
-
-
-
=
-
-
=
=
-
+
%
#
=
=
=
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
+
=
=
=
=
=
+
+
=
=
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
+
=
=
=
=
=
=
-
-
=
=
=
=
=
-
=
=
-
-
=
=
-
=
=
-
=
-
=
=
-
=
-
-
-
-
=
-
=
-
=
-
=
#
#
=
=
+
=
=
+
=
+
+
=
=
=
=
=
+
=
=
+
=
=
+
=
=
=
+
=
=
+
=
+
=
+
+
+
=
=
=
+
=
+
=
+
=
=
+
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
+
=
=
=
=
=
=
-
=
-
=
-
=
=
=
=
=
-
-
-
=
-
=
-
-
=
-
-
-
=
=
-
=
-
=
-
=
=
-
-
=
=
%
+
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
+
+
+
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
+
+
+
=
+
=
+
+
=
+
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
+
=
=
=
=
-
=
=
-
=
=
=
=
-
=
-
=
-
=
-
-
=
-
-
=
=
-
-
=
-
=
-
=
-
-
-
=
=
-
#
%
=
+
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
+
+
=
+
=
=
=
+
+
=
+
+
=
+
+
=
+
+
=
=
+
=
=
+
=
=
=
+
=
+
+
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
=
=
-
=
-
-
-
=
-
=
=
-
-
-
-
-
-
-
=
-
=
-
-
-
=
-
-
*
#
=
+
=
+
+
=
=
=
=
+
+
=
+
+
+
=
=
=
=
=
=
=
+
=
+
=
+
+
+
=
+
=
+
+
=
+
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
-
-
=
=
-
-
-
=
=
-
=
=
-
-
-
=
-
-
-
=
-
=
-
-
-
#
#
+
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
+
=
=
=
=
+
=
=
+
+
+
=
+
=
+
=
=
+
=
=
+
=
=
=
=
+
=
+
+
+
+
=
+
=
+
=
=
=
=
+
=
=
-
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
-
=
=
-
=
-
=
-
=
-
=
=
-
-
-
-
=
=
=
-
-
=
-
-
=
=
=
-
-
=
-
=
-
-
=
=
=
*
*
#
=
=
=
=
=
+
=
=
=
+
=
=
+
=
=
=
=
-
+
=
-
=
=
-
=
-
+
=
=
=
=
=
=
=
+
=
+
+
=
=
+
=
=
=
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
+
=
+
-
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
=
=
=
-
-
-
-
-
-
=
=
-
=
-
=
-
-
-
=
=
-
=
-
=
-
-
=
=
-
-
#
#
*
=
=
=
=
=
=
=
=
=
=
=
-
+
-
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
=
=
+
+
=
=
+
=
=
=
+
=
=
+
=
=
=
+
+
=
=
+
+
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
=
=
=
-
=
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
-
-
-
-
=
-
=
-
=
-
=
-
=
=
=
=
=
-
=
-
=
-
-
-
=
-
-
-
=
=
-
-
=
-
-
-
-
%
%
*
+
=
=
=
=
-
-
-
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
+
-
=
=
=
=
=
=
=
=
+
+
=
=
+
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
+
=
=
=
-
=
-
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
=
-
=
-
=
-
-
=
-
*
-
-
-
-
=
-
-
-
=
-
-
-
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
%
#
#
=
-
=
-
=
=
=
=
=
-
=
-
=
-
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
-
=
=
=
=
=
=
=
+
=
=
=
+
+
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
-
=
=
=
=
=
-
=
-
-
=
=
-
-
=
-
=
-
=
-
=
-
-
*
=
=
-
-
-
=
-
-
-
-
-
-
-
=
-
=
-
=
-
-
-
-
-
-
+
#
*
#
=
+
-
=
-
-
-
-
=
=
-
=
-
=
=
-
=
-
=
=
-
=
=
=
=
-
=
-
-
=
-
=
=
=
-
=
=
-
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
-
=
-
=
=
=
=
=
=
=
-
=
=
-
-
-
-
=
*
#
-
=
-
=
-
-
-
-
-
-
=
-
-
=
-
=
=
-
=
=
=
-
=
#
#
+
=
-
=
-
=
-
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
-
=
=
-
=
=
-
=
-
-
=
=
=
=
-
-
-
=
=
-
=
-
=
-
-
-
-
=
=
#
+
-
-
-
-
=
-
=
=
=
=
=
-
=
-
-
=
=
-
=
-
-
-
-
#
#
*
=
=
+
-
=
-
-
=
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
-
=
=
-
=
=
=
=
=
=
=
-
=
-
=
=
=
=
-
-
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
-
-
=
=
=
=
-
=
-
-
-
-
-
-
-
-
-
-
#
+
=
=
=
=
-
=
-
-
-
-
=
-
-
=
-
-
=
-
-
-
=
=
-
-
*
*
#
%
=
=
-
=
+
=
-
=
=
-
=
+
=
=
+
=
=
+
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
-
-
-
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
-
=
=
=
=
=
=
=
-
=
-
=
-
=
-
=
=
-
-
-
-
=
-
=
-
=
-
-
-
-
=
-
=
=
#
%
+
-
-
-
=
-
=
-
=
=
=
-
-
=
-
=
-
-
-
=
-
-
-
-
+
%
#
#
=
+
=
+
=
=
-
-
=
=
-
=
=
+
=
=
=
+
=
=
+
=
=
+
=
+
=
+
+
=
+
=
=
-
+
-
=
=
=
-
=
=
-
=
=
=
-
=
=
+
+
=
=
-
-
=
=
+
=
-
-
=
-
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
-
=
=
-
=
=
-
=
-
=
=
=
-
-
-
-
-
-
=
-
=
-
-
-
=
%
#
#
+
-
=
-
-
=
=
-
-
-
=
-
=
-
-
-
=
-
=
=
-
-
-
%
*
#
=
+
=
-
=
=
=
=
=
=
=
=
+
=
=
=
+
=
=
+
=
=
+
=
+
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
-
-
=
-
=
-
-
=
-
=
-
=
-
-
-
=
-
=
-
-
-
%
#
#
-
=
-
-
-
-
-
-
-
=
=
-
-
=
-
-
-
=
-
*
*
%
*
#
=
=
=
=
-
=
-
=
=
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
+
=
=
=
=
+
+
=
=
=
=
+
=
=
=
+
=
=
+
=
-
=
=
=
=
=
-
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
-
-
=
-
-
=
-
=
-
=
-
-
-
-
-
=
-
-
-
-
-
=
=
-
=
-
-
=
-
-
%
#
*
*
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
+
*
#
#
#
+
=
+
-
=
=
=
+
=
+
=
+
=
+
=
+
=
+
=
=
=
=
+
=
=
+
+
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
-
-
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
-
-
-
=
=
-
-
=
=
=
-
=
=
-
=
-
-
*
%
#
*
#
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
=
-
=
%
#
*
#
#
=
=
=
=
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
=
=
+
+
+
=
+
=
+
+
=
=
=
=
+
+
=
=
=
=
=
=
=
=
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
-
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
-
-
-
-
-
-
-
-
-
-
-
=
-
=
=
-
-
-
=
=
-
-
=
-
-
=
=
*
#
*
=
=
-
-
-
-
-
-
-
-
-
-
:
-
=
-
-
-
-
=
-
-
=
*
*
#
#
@
+
=
+
+
=
=
=
+
=
+
=
+
+
=
+
=
+
=
=
+
+
+
=
+
+
=
+
=
+
+
=
+
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
-
=
=
-
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
-
-
=
-
=
=
-
=
=
=
-
-
=
-
-
-
-
=
-
=
-
=
-
-
-
=
-
-
-
-
-
#
*
*
*
+
+
-
=
=
-
-
-
-
-
-
-
-
-
-
-
:
=
-
-
-
=
-
-
-
+
*
%
%
+
=
+
=
+
=
+
=
=
=
+
=
=
+
=
+
=
=
=
=
+
=
=
+
+
=
+
=
+
=
=
=
=
+
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
=
=
=
-
=
-
=
=
=
=
=
-
+
=
=
+
=
-
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
=
-
-
=
=
-
=
-
-
-
=
-
=
-
=
-
=
-
-
-
=
-
=
=
-
=
-
=
-
-
*
+
+
=
+
+
-
-
-
=
-
-
-
-
-
-
:
=
-
-
-
=
-
-
-
-
-
-
#
#
=
+
+
=
=
=
=
=
=
=
=
=
+
=
=
+
=
+
+
=
=
=
+
=
=
+
+
=
=
=
+
=
+
=
+
=
+
+
=
=
=
=
+
=
=
+
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
-
=
=
+
-
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
=
=
-
=
-
-
-
=
-
-
-
-
=
-
=
-
*
=
*
-
=
-
-
-
-
-
-
=
-
-
=
-
-
-
=
-
-
-
-
-
=
-
=
-
#
*
%
%
#
+
=
+
=
=
=
=
=
=
+
+
=
+
=
+
=
+
=
=
=
=
+
=
+
+
=
=
+
=
=
+
=
=
=
+
=
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
+
-
=
=
=
=
+
=
=
+
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
-
-
=
=
=
-
-
-
-
=
-
-
-
-
-
-
=
-
-
=
-
=
-
-
=
-
-
-
-
-
-
=
-
-
-
=
-
*
+
+
=
+
=
-
:
-
-
-
-
-
:
-
=
-
-
=
=
-
=
-
=
:
-
:
-
#
#
%
%
+
=
=
+
=
+
=
=
=
=
=
+
=
+
=
=
=
=
+
=
+
+
=
=
+
=
=
+
=
=
=
=
#
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
-
-
=
-
-
=
-
=
-
-
=
-
-
=
-
=
-
=
-
-
=
-
=
=
-
-
-
-
=
-
-
-
-
-
-
*
=
+
+
+
=
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
:
-
-
-
-
-
#
%
%
#
+
=
=
=
=
=
=
=
=
=
+
+
=
+
+
+
+
+
+
=
+
=
=
=
=
+
=
=
+
=
+
=
+
*
=
=
=
=
=
=
=
+
=
=
=
=
=
=
-
=
=
=
=
=
=
-
+
=
=
=
=
-
-
=
=
=
=
=
=
=
=
-
=
=
-
=
=
-
=
=
-
-
-
-
-
-
-
=
-
=
-
-
=
-
=
-
-
-
=
-
-
-
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
=
+
+
+
=
-
:
-
-
-
-
-
-
-
-
=
-
-
-
=
=
-
-
-
*
%
%
%
+
=
+
+
=
=
=
+
=
+
=
=
=
=
=
=
=
=
=
=
+
=
+
+
=
=
+
=
+
=
*
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
:
-
-
#
+
+
+
+
+
=
-
-
-
-
-
-
-
-
-
-
:
-
-
-
-
-
-
-
-
-
=
-
-
%
#
#
=
=
=
=
=
=
=
=
=
=
=
+
=
+
=
=
+
=
+
=
=
+
%
*
=
=
=
=
=
+
=
+
=
=
+
=
=
=
=
=
=
+
=
-
=
+
=
=
=
=
=
+
=
=
=
-
=
-
=
-
=
=
=
=
-
=
=
=
=
=
=
+
=
=
=
=
=
=
-
-
=
-
-
=
-
-
-
:
-
-
-
-
-
=
-
=
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
#
*
%
=
-
-
-
:
-
-
-
-
-
=
-
-
=
=
-
=
-
-
-
-
%
#
%
+
+
=
=
+
+
=
=
=
=
+
=
=
=
+
=
+
=
=
=
+
+
=
=
=
+
+
=
=
=
=
=
+
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
-
=
-
=
=
=
-
=
=
=
=
=
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
:
-
-
-
#
+
-
#
%
*
+
=
-
-
-
-
-
:
-
-
-
-
-
-
=
-
-
=
=
=
=
=
+
#
%
#
#
=
+
=
=
+
=
=
=
=
+
=
+
=
+
=
=
+
=
+
=
=
#
=
=
+
=
=
+
=
+
=
=
*
-
=
=
=
-
=
+
=
=
+
=
-
=
=
-
=
=
=
=
=
+
=
=
=
=
=
-
=
-
=
=
=
-
=
-
=
=
=
=
=
=
=
-
=
=
=
=
-
-
-
=
-
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
=
-
=
=
-
-
-
-
-
-
:
-
-
-
-
-
+
-
+
+
+
+
-
-
-
-
-
-
-
-
-
=
-
=
=
-
-
=
-
*
*
-
=
-
*
#
%
#
#
+
=
=
=
=
+
+
+
=
+
=
=
=
+
=
+
=
+
=
+
+
+
=
+
=
+
=
-
=
-
+
*
-
=
=
-
=
-
-
=
=
+
-
-
-
-
-
-
-
=
-
=
-
-
=
-
=
=
-
=
=
-
=
=
=
=
=
-
=
=
-
-
=
=
-
-
=
=
-
=
-
=
-
-
=
=
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
:
-
-
-
*
+
+
+
=
+
+
=
-
:
-
:
-
:
-
-
-
-
=
-
=
-
=
-
+
+
-
=
-
=
*
%
%
%
=
+
+
=
=
+
+
=
+
+
+
+
=
+
=
+
+
=
+
+
+
=
=
=
+
=
=
=
=
=
+
*
-
=
=
=
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
=
=
=
=
=
-
=
-
-
=
=
=
=
=
-
=
=
=
-
=
=
=
-
=
=
=
-
=
-
=
-
-
-
-
-
=
-
=
-
-
=
-
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
:
#
+
+
+
*
+
+
=
-
-
-
:
-
.
:
:
:
-
:
-
-
-
-
=
#
+
=
=
=
*
%
%
#
=
=
=
=
=
+
=
=
+
=
+
=
+
+
=
=
+
+
+
#
+
+
*
*
+
+
=
+
=
=
+
#
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
=
=
-
=
-
=
=
=
=
=
=
=
-
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
+
+
+
*
*
+
=
-
:
-
:
-
:
-
-
-
-
-
:
-
:
:
*
=
=
=
+
#
%
%
%
#
+
=
=
=
=
=
+
=
+
=
+
+
=
+
+
=
*
*
*
#
%
=
*
=
#
#
*
#
*
=
=
=
+
*
=
-
=
#
-
=
+
-
-
=
-
-
-
=
-
-
=
=
=
=
=
=
-
-
-
=
=
-
-
=
=
-
=
-
=
=
-
=
-
-
=
=
+
-
=
-
=
=
=
=
=
-
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
=
=
-
-
-
=
-
=
-
-
-
-
-
-
-
-
-
#
+
+
+
+
+
+
=
-
.
:
:
.
:
.
:
-
:
-
-
-
-
-
%
+
*
#
%
#
#
*
%
#
#
+
+
+
=
=
+
=
=
*
+
=
+
+
+
#
*
#
#
%
=
+
*
#
#
*
*
#
*
*
+
*
=
=
-
=
-
+
=
-
=
+
:
-
=
-
-
-
-
-
=
-
=
=
=
=
=
=
=
-
=
=
=
=
+
=
=
-
=
-
=
=
-
=
-
=
=
=
=
-
=
=
-
-
-
=
-
=
-
=
-
=
-
=
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
*
+
*
*
+
=
-
-
-
-
.
-
-
-
:
-
:
-
-
-
=
#
%
#
#
%
%
#
%
#
*
#
*
+
=
=
+
=
+
*
*
*
*
#
*
#
*
%
*
#
*
+
#
#
#
*
#
%
%
+
#
#
=
=
=
=
=
-
=
=
+
-
-
=
-
=
-
-
=
=
=
=
=
=
-
=
=
-
=
-
=
=
=
+
=
-
=
-
=
-
=
-
=
-
=
-
=
+
-
=
=
=
=
-
=
=
=
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
#
+
*
+
*
+
=
-
-
:
-
:
:
.
-
-
:
-
-
+
*
#
*
#
*
%
#
*
#
%
*
*
*
*
*
+
+
+
+
#
#
*
+
#
#
#
#
*
%
@
%
#
%
%
%
*
%
%
%
%
*
+
%
*
*
*
+
+
-
=
=
*
-
-
=
=
=
-
=
=
-
+
=
=
=
=
=
=
=
-
=
=
=
=
=
+
=
=
=
=
=
=
=
+
=
=
=
=
=
=
=
-
-
-
=
=
-
=
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
=
-
-
-
-
-
-
-
*
+
*
+
+
+
=
-
-
:
:
-
.
-
-
-
-
=
+
%
%
*
%
%
#
#
*
+
=
#
#
%
*
=
*
*
#
%
#
*
*
%
%
%
%
%
#
%
#
#
#
#
#
#
#
#
#
#
#
#
#
%
%
#
#
%
=
*
+
+
#
*
=
#
*
#
+
#
-
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
=
+
-
=
=
=
+
=
-
+
=
+
=
=
=
=
=
=
-
=
=
=
=
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
%
+
+
*
#
*
+
=
-
:
:
:
:
-
-
-
=
%
*
#
#
#
#
%
#
#
*
%
*
#
%
#
*
*
*
+
*
#
#
#
#
%
#
#
#
%
%
#
#
%
%
#
#
#
*
#
#
#
%
#
#
%
#
=
#
=
+
+
+
-
+
#
+
*
=
-
=
=
=
+
=
=
+
-
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
-
=
=
=
=
=
=
=
=
=
=
=
=
-
=
-
-
=
=
=
=
-
-
=
=
-
-
=
-
-
-
-
-
-
-
:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
=
-
-
-
-
-
-
:
-
#
*
%
%
#
#
#
#
#
#
+
%
#
%
%
+
+
+
+
*
#
%
*
#
%
%
#
#
#
%
%
#
#
#
%
%
#
#
#
#
%
#
%
#
*
%
%
#
-
=
-
:
*
#
=
=
%
=
=
%
+
=
*
=
+
=
-
=
-
=
=
-
=
=
=
-
=
-
=
=
=
=
=
=
=
=
=
=
=
+
=
=
-
=
-
=
=
=
-
=
-
=
=
-
+
=
-
-
=
-
=
=
=
-
-
=
-
-
-
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
+
*
*
*
+
*
-
-
-
-
-
-
-
-
-
-
*
#
*
%
#
#
*
#
#
#
#
*
=
%
#
%
#
#
+
*
*
+
#
#
%
*
%
*
#
%
%
#
%
#
#
%
#
#
#
#
#
#
#
#
%
#
#
#
+
#
+
=
*
=
+
-
#
=
=
=
=
=
=
+
=
+
=
=
=
=
=
=
-
=
-
=
=
=
=
=
=
=
+
=
=
=
-
=
=
-
=
+
=
-
-
-
=
=
+
=
=
=
-
-
=
-
=
=
=
-
-
-
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
%
*
+
+
*
=
-
-
-
-
-
-
-
-
+
*
*
#
%
#
*
#
#
#
#
+
=
#
#
%
+
*
#
*
#
#
*
#
%
*
*
+
#
%
%
#
#
*
*
#
%
*
*
*
*
*
#
#
#
%
#
#
#
#
=
*
=
:
%
=
*
*
-
:
+
-
=
=
+
+
%
#
*
#
#
*
+
*
*
=
=
=
=
-
=
=
=
=
=
=
=
-
+
=
=
=
=
=
=
=
-
-
-
=
-
=
-
=
=
=
-
-
=
+
-
-
=
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%
+
*
*
*
*
=
-
-
-
-
-
-
+
#
#
#
#
*
#
#
#
#
#
%
+
=
*
#
+
#
*
#
+
#
*
%
#
%
+
+
%
#
#
#
*
*
+
*
*
%
+
#
#
#
#
*
#
#
%
#
#
-
*
+
=
+
#
#
+
+
=
=
-
=
*
#
*
=
=
%
+
+
=
+
=
+
-
+
=
=
=
=
+
=
=
=
=
+
=
+
=
+
=
-
-
=
-
-
=
=
-
=
=
-
-
=
-
-
=
-
=
-
-
=
-
-
-
-
-
-
-
-
-
-
-
-
-
=
-
-
=
-
-
-
-
-
-
%
+
#
*
*
*
-
-
=
-
-
-
-
-
-
#
#
#
#
#
#
*
#
%
#
+
+
#
*
*
*
#
*
*
*
+
+
+
#
%
%
#
+
=
%
=
+
+
*
#
*
#
*
%
%
%
#
*
+
=
+
#
+
+
=
%
-
=
=
=
+
+
*
*
*
#
#
+
#
*
+
*
+
+
*
+
=
=
=
=
+
+
=
=
=
=
+
=
=
-
=
-
=
-
-
-
-
=
=
=
=
-
=
-
=
-
=
=
-
-
-
-
-
-
-
=
-
-
-
=
-
=
-
-
-
-
-
+
=
=
=
=
-
-
-
-
-
-
-
-
-
%
+
+
*
*
+
+
+
-
-
-
-
-
-
-
=
#
#
*
#
%
%
%
%
*
%
%
+
+
*
#
%
*
=
*
#
*
+
#
#
*
*
#
#
#
+
=
+
-
+
=
+
#
#
#
#
#
#
%
#
#
#
=
+
+
+
+
*
+
+
=
#
=
=
+
*
#
*
+
#
#
#
*
*
#
#
*
=
=
=
+
=
=
=
+
=
=
-
-
=
=
+
=
+
=
-
=
=
-
-
-
-
=
-
-
=
=
-
-
=
=
=
=
=
-
-
-
=
-
-
+
-
-
-
=
-
+
+
+
#
+
+
#
#
#
#
#
*
*
+
*
*
*
+
*
+
*
+
=
+
-
=
-
-
#
#
%
@
#
#
#
%
+
+
#
*
%
@
=
+
+
+
+
#
#
*
+
#
#
%
+
=
+
=
+
=
*
#
*
#
#
*
#
%
%
#
%
#
=
+
+
+
+
*
+
+
+
-
*
-
-
*
+
+
*
#
#
#
*
*
+
*
*
*
#
*
+
+
-
+
+
+
=
+
+
=
=
+
+
=
=
=
=
=
+
-
=
-
=
-
=
=
+
=
+
=
=
=
-
=
-
-
=
=
=
=
=
=
=
=
*
=
=
+
*
+
#
#
+
=
=
*
+
*
*
*
*
#
#
#
*
*
*
*
+
*
*
=
*
=
=
=
=
*
#
*
@
@
#
%
*
#
#
+
#
#
%
%
#
-
+
=
=
=
+
+
=
+
+
+
*
%
+
*
=
+
+
#
*
#
#
*
#
#
#
*
*
#
%
-
*
=
=
+
+
+
=
=
:
#
=
+
+
*
*
+
+
+
=
#
#
*
#
*
*
*
=
=
=
=
=
=
=
=
=
+
=
+
+
+
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
+
=
-
=
=
=
=
=
=
-
=
-
=
=
-
*
+
*
*
*
*
#
+
*
#
*
*
*
*
#
*
#
#
+
*
*
*
*
*
*
#
#
*
+
*
=
*
*
#
%
@
@
%
#
%
#
=
*
%
%
%
=
=
=
=
=
-
=
=
+
=
=
+
+
+
+
+
#
#
+
+
*
#
#
#
*
#
#
#
#
=
=
=
=
+
+
#
*
=
+
#
=
=
=
*
+
#
#
#
:
*
+
+
+
%
%
%
%
%
#
+
+
=
+
+
+
=
+
+
+
+
=
+
+
=
+
=
-
+
=
+
=
+
=
-
+
+
=
=
+
+
=
+
+
=
=
=
=
=
+
*
*
%
%
#
*
+
*
#
*
#
%
#
*
#
#
#
#
+
#
#
#
*
*
*
*
*
*
*
#
*
%
#
%
%
%
%
%
%
%
#
#
%
@
@
#
%
#
#
#
+
*
%
%
%
%
=
=
*
*
#
%
#
*
+
*
*
#
=
#
*
*
*
=
=
+
+
*
#
#
%
*
*
*
#
+
+
=
-
=
+
=
+
*
#
+
*
#
+
#
*
*
:
+
=
+
#
#
#
%
%
#
*
=
+
=
+
*
=
=
=
=
=
+
=
+
=
=
=
+
=
=
=
=
=
+
=
=
=
+
=
+
=
+
=
=
=
=
=
=
=
#
#
#
%
%
#
#
#
=
+
#
#
*
#
=
+
+
=
+
+
+
=
+
=
*
#
*
*
*
*
+
*
+
+
*
%
%
%
%
#
#
#
#
*
%
%
%
%
#
#
#
#
+
#
#
%
%
#
*
#
#
*
#
#
*
*
#
#
*
#
%
+
+
=
+
+
+
#
*
+
*
#
#
#
#
*
#
=
+
+
=
=
*
+
-
*
-
+
+
#
*
-
=
*
=
+
%
#
#
#
#
#
=
+
=
#
=
=
+
+
=
=
+
=
+
=
+
=
+
+
=
=
=
+
=
=
+
+
=
=
=
+
+
+
=
=
*
+
+
%
#
#
#
%
%
#
#
=
*
%
#
=
=
+
=
=
+
=
=
=
*
*
#
*
#
*
+
*
+
%
#
@
%
#
#
#
#
%
#
#
@
@
%
#
#
#
+
%
%
%
%
#
%
%
%
%
#
#
%
%
%
*
#
#
*
*
+
+
*
#
#
#
#
#
*
%
%
#
#
#
*
=
-
+
#
+
*
=
#
#
*
-
#
+
*
+
-
-
+
#
+
#
%
#
*
#
#
+
+
+
#
+
+
=
+
=
=
=
+
=
+
+
=
#
=
=
=
+
=
+
+
+
+
+
=
+
*
=
=
+
-
#
%
#
#
#
%
%
%
*
=
+
+
%
%
=
+
=
+
=
=
*
#
#
#
*
*
#
*
+
+
*
%
%
#
%
#
%
#
%
*
#
%
%
%
%
#
#
#
#
+
%
%
@
%
%
%
%
%
%
*
*
%
%
%
%
%
%
+
#
+
%
%
%
%
%
%
%
%
%
*
#
#
%
=
#
=
=
+
#
+
*
#
+
*
=
+
=
=
*
*
+
=
=
#
+
=
#
*
#
%
*
#
*
=
+
+
+
+
+
+
*
+
*
=
*
+
+
=
+
+
*
*
+
*
+
+
%
*
+
+
+
+
+
*
%
=
=
+
*
#
#
#
#
#
#
@
%
#
#
=
+
*
#
#
-
+
+
+
=
+
=
+
*
#
#
*
*
*
*
*
*
*
#
%
#
%
%
%
#
%
#
%
#
#
%
%
%
#
#
#
#
+
%
%
%
%
%
%
%
%
%
*
*
=
%
%
#
-
#
#
+
*
%
%
%
%
%
%
%
*
*
*
#
#
#
#
=
*
=
=
*
#
*
*
+
=
+
-
+
#
#
*
=
=
+
*
#
#
#
#
*
#
*
=
*
+
*
*
*
#
*
#
=
=
+
#
#
+
+
*
*
#
*
+
*
=
*
*
#
#
*
*
*
#
#
#
+
:
=
#
#
#
#
%
#
%
#
+
*
+
*
*
=
=
+
+
-
-
=
*
#
#
#
*
*
*
*
*
#
#
%
%
%
%
%
#
%
#
#
#
%
%
%
%
#
#
#
#
%
%
%
@
%
%
%
%
%
*
*
*
#
%
#
*
=
%
+
#
%
#
@
%
%
%
%
*
#
+
*
#
%
#
=
*
+
=
+
#
+
+
*
=
#
=
=
=
*
+
*
+
=
=
*
=
*
#
#
#
#
*
+
*
#
*
#
*
#
#
#
#
=
=
+
+
*
#
%
%
#
+
*
+
+
+
+
*
*
*
#
*
*
#
+
=
=
-
-
=
-
=
#
%
%
%
#
%
#
#
*
=
+
+
*
#
#
=
-
*
+
-
=
=
*
#
#
#
*
#
#
*
*
#
#
#
@
%
%
%
%
%
#
#
%
%
#
#
%
%
#
#
*
%
%
%
%
%
#
%
#
*
*
*
*
*
*
%
%
*
+
#
=
%
%
%
#
#
+
#
%
%
+
#
*
*
#
#
#
=
*
=
=
+
*
+
+
+
+
#
=
=
+
+
*
-
-
+
+
=
#
*
#
#
#
#
*
+
+
=
+
=
+
+
*
+
+
#
#
#
#
#
%
#
+
=
+
*
#
*
*
*
+
*
*
#
+
+
+
-
=
=
-
=
%
%
%
%
#
%
#
#
%
=
+
+
#
=
*
+
%
%
#
%
%
%
#
*
*
%
#
#
#
#
%
@
%
%
@
%
%
#
#
#
*
#
%
#
#
%
*
*
#
#
*
@
%
*
@
%
#
*
#
+
#
*
*
*
#
*
%
+
=
#
+
%
@
#
#
#
#
*
*
#
%
%
*
#
*
*
#
*
%
=
*
=
#
+
+
=
=
=
#
*
*
:
=
*
=
+
#
*
*
#
*
*
#
+
+
=
+
=
=
+
*
+
*
=
#
#
*
#
#
#
#
%
#
#
+
*
+
+
=
+
#
+
=
-
=
+
#
#
#
*
#
#
#
#
%
%
%
#
=
+
+
%
*
=
+
=
=
#
#
#
*
*
#
%
*
#
#
*
*
*
#
#
%
%
%
@
%
*
%
#
#
*
*
@
%
%
#
#
+
%
%
@
%
%
*
#
*
+
#
*
+
*
*
%
#
%
+
+
=
#
%
%
#
#
*
%
#
%
@
#
+
+
%
#
%
#
+
*
=
=
*
-
#
=
+
#
=
=
=
*
%
+
*
-
*
%
+
*
#
#
#
*
#
*
+
*
=
*
+
#
#
*
#
*
=
#
=
#
%
#
#
#
#
%
#
#
*
=
+
*
=
=
#
#
#
+
+
=
#
#
#
*
#
#
#
%
%
#
%
%
%
#
=
*
*
*
%
#
+
*
%
%
#
%
#
%
*
+
*
#
*
#
#
@
@
@
%
@
@
%
#
#
%
#
%
%
%
#
%
%
#
#
%
=
%
%
@
%
%
#
*
#
*
*
#
*
*
*
*
*
+
+
+
*
*
#
%
#
*
*
#
*
*
*
+
#
#
%
#
#
+
+
=
=
+
=
+
+
#
+
*
*
#
#
+
=
=
#
+
#
+
#
#
#
#
*
+
+
+
+
*
#
#
#
#
*
+
*
*
#
%
#
*
#
#
*
%
#
+
*
+
=
=
*
*
+
+
#
*
#
#
%
#
%
=
#
#
#
#
#
@
%
#
*
+
*
%
#
=
#
#
*
#
=
+
#
=
*
#
%
%
@
%
#
%
@
@
%
#
%
%
#
%
#
%
#
%
#
#
%
+
%
%
%
%
#
+
#
*
#
=
*
=
#
+
+
=
+
*
#
%
@
%
%
#
%
#
=
*
*
+
#
+
+
+
#
=
*
=
+
=
+
+
+
=
=
=
+
=
#
#
+
#
=
%
#
*
*
*
*
#
*
#
#
+
+
*
*
#
#
#
%
%
+
*
*
%
%
*
#
#
#
#
*
%
#
+
=
#
+
+
+
=
+
%
*
%
%
#
#
%
%
#
%
%
#
+
%
#
#
%
%
%
=
+
+
#
%
#
=
#
*
+
+
+
=
=
=
=
+
#
#
#
%
%
%
%
%
%
%
@
%
#
%
%
#
#
%
%
%
*
%
#
%
#
%
%
@
%
#
#
#
*
*
*
*
+
+
+
*
+
=
+
%
%
%
%
%
%
#
*
*
*
=
#
+
*
*
#
*
%
%
*
*
#
%
%
%
#
*
+
*
+
+
=
+
*
#
#
=
+
+
+
*
*
#
#
#
*
=
+
#
*
+
#
#
#
%
+
+
#
%
%
%
*
#
#
%
#
*
+
*
*
+
+
#
%
#
%
%
*
#
*
#
#
#
#
#
+
#
*
#
#
%
#
=
*
#
@
%
=
=
*
-
-
-
-
=
=
=
*
#
%
#
%
%
%
#
#
@
%
%
#
%
%
#
%
%
%
+
%
#
#
%
=
%
%
@
@
%
*
*
#
*
*
+
*
=
+
*
+
+
%
%
%
#
%
*
#
#
=
#
*
+
+
#
#
%
+
+
=
+
=
+
+
*
#
=
=
=
=
=
#
+
#
*
-
=
*
+
*
*
#
%
*
#
+
*
#
#
+
+
%
%
#
#
%
%
#
#
%
%
#
%
#
%
#
*
#
#
*
=
*
+
=
#
#
#
#
*
#
*
#
*
#
#
#
%
#
#
#
*
#
*
+
#
+
#
=
+
#
#
=
%
#
=
=
=
=
+
*
%
%
%
@
%
%
#
%
%
%
%
#
%
%
%
#
#
#
%
%
%
*
%
#
#
%
@
@
%
#
#
*
#
*
#
+
=
*
=
*
%
%
*
#
*
#
*
+
=
+
+
=
%
#
#
+
=
%
*
#
+
=
*
*
*
+
#
*
*
+
+
=
*
%
#
%
*
-
+
*
+
*
*
#
#
#
#
#
#
*
*
*
*
#
#
*
#
#
#
%
#
#
#
#
#
#
#
#
#
#
*
=
+
+
=
=
+
*
#
%
#
#
*
#
#
#
#
#
%
#
%
*
#
%
#
*
=
*
*
#
#
=
*
%
*
+
#
#
-
=
=
*
#
%
@
%
%
%
%
#
@
%
%
#
#
#
*
*
#
#
#
#
#
#
+
#
%
@
%
%
#
*
*
*
*
+
:
-
:
-
-
-
*
%
%
#
#
#
%
%
+
-
-
=
+
#
*
=
-
-
#
%
*
#
+
=
#
#
*
*
#
#
*
*
*
#
%
#
#
=
=
+
*
=
*
*
*
*
*
#
#
%
#
#
#
#
#
%
@
#
#
#
#
*
#
#
#
#
#
#
#
@
#
*
#
#
#
%
#
%
%
#
#
#
#
#
#
#
%
%
%
#
+
+
#
%
%
#
+
*
#
+
#
*
=
=
=
*
#
%
%
%
%
%
#
%
#
%
#
@
*
%
*
%
%
#
#
#
@
%
#
#
#
*
#
%
@
%
%
*
#
*
#
#
+
-
-
-
:
%
#
%
*
#
%
%
#
*
+
=
=
+
#
#
+
=
:
=
%
%
+
*
+
=
%
#
*
#
#
%
*
=
#
*
%
#
=
+
+
#
*
#
*
#
*
*
*
%
#
#
#
*
#
*
#
%
#
#
#
%
%
%
#
#
%
*
=
=
+
%
+
#
#
#
%
#
#
#
#
*
*
#
*
#
#
*
%
%
#
+
#
*
%
*
#
*
#
%
#
+
+
+
+
+
+
%
@
%
%
#
%
#
#
%
%
%
#
%
%
%
#
#
%
%
%
@
%
%
@
%
%
%
%
#
%
%
%
%
#
*
*
*
#
*
=
%
=
*
+
+
%
@
%
%
%
#
#
%
+
=
:
-
=
=
=
=
-
-
=
%
%
#
%
#
#
%
%
%
#
*
*
+
*
#
%
#
%
=
#
#
+
=
*
#
*
#
*
#
+
#
+
=
#
#
#
#
*
#
*
*
#
*
#
#
*
#
#
%
#
%
*
=
+
+
%
#
+
*
%
#
#
%
#
*
#
#
*
%
#
*
#
@
%
%
+
#
#
%
*
#
#
#
#
=
@
#
%
#
#
#
#
%
%
@
%
%
#
#
#
#
%
@
#
+
%
%
#
@
@
@
@
@
@
%
%
%
%
*
%
%
@
#
*
#
#
#
*
*
#
+
*
*
+
*
%
%
%
#
#
#
%
+
=
#
+
*
*
+
=
%
*
+
=
#
*
+
%
%
#
+
#
+
*
%
#
#
+
*
+
+
+
#
*
#
*
*
#
+
=
%
#
%
#
#
%
#
#
#
#
#
#
#
*
*
#
#
#
#
+
=
*
#
+
+
*
#
*
+
%
#
*
*
*
#
#
#
#
*
#
%
#
#
#
#
#
#
#
=
+
#
%
=
@
*
#
#
#
%
%
%
#
%
%
#
#
#
%
%
+
#
#
#
%
@
%
@
%
%
#
%
%
%
%
*
@
%
%
=
*
*
#
*
#
+
+
*
=
=
#
#
%
@
%
%
@
%
+
#
+
+
%
#
*
*
=
#
+
@
*
+
+
#
%
*
+
%
=
*
#
#
%
@
#
#
+
*
+
+
=
*
*
+
*
*
*
#
*
%
+
%
#
#
*
*
#
%
#
%
#
#
*
%
%
%
%
@
@
#
%
%
#
*
#
#
%
#
#
#
#
*
#
#
#
#
#
#
*
#
%
#
#
%
#
%
=
#
#
=
*
%
#
#
#
#
#
%
%
#
#
%
%
#
#
*
#
#
#
#
@
@
@
@
%
@
%
%
@
#
#
%
#
*
=
+
#
#
#
#
*
*
*
=
+
#
%
%
%
%
#
%
#
+
+
#
+
@
+
*
+
+
=
*
%
*
%
#
+
*
+
+
=
#
%
+
#
#
*
*
%
%
#
%
+
*
*
=
*
#
+
+
#
#
#
*
#
#
#
%
%
%
#
#
%
%
#
*
#
#
*
#
#
%
#
#
#
#
+
*
#
%
#
%
#
#
#
%
#
#
*
#
%
#
%
%
%
@
%
*
#
*
*
#
%
#
%
#
*
+
%
#
=
%
%
%
#
#
*
%
#
%
#
#
#
%
%
%
%
*
%
#
#
#
#
@
%
@
@
%
@
@
@
@
#
@
%
%
%
%
#
#
%
#
-
-
=
*
+
*
%
%
%
@
%
#
+
+
*
*
@
*
%
*
+
+
%
=
+
+
=
*
+
+
+
*
+
*
+
*
#
#
*
#
%
#
+
+
+
=
=
*
%
*
%
+
%
%
*
+
%
@
%
@
%
#
%
+
%
%
%
#
#
%
+
+
*
*
+
+
#
*
+
+
*
#
#
*
#
*
#
#
%
#
#
@
%
%
%
@
%
%
%
%
%
%
*
+
+
+
+
*
#
*
#
+
=
=
*
+
+
#
#
+
+
%
%
%
+
@
@
*
%
#
#
#
#
%
%
%
%
@
%
@
%
%
@
@
*
%
%
#
%
=
*
#
#
#
*
+
=
=
=
+
%
%
*
%
#
#
%
+
=
+
+
#
%
#
=
=
+
+
%
+
+
+
+
*
#
#
#
#
%
%
%
#
*
+
*
#
@
+
*
*
+
#
*
*
*
#
%
#
%
#
*
#
%
#
#
*
*
#
#
#
*
*
%
%
%
+
%
%
*
#
#
#
+
+
#
*
*
+
#
#
#
#
#
%
%
#
#
#
#
#
#
#
#
#
#
#
*
*
#
*
%
%
#
*
+
*
+
%
%
+
%
%
%
#
*
#
=
*
=
+
=
=
+
+
+
+
#
#
#
#
#
@
%
#
@
%
@
%
%
@
%
%
%
#
%
%
=
=
#
#
#
#
*
+
+
*
+
+
+
=
#
%
#
#
%
+
#
*
*
#
+
*
%
+
+
+
+
+
*
#
-
=
=
=
+
%
+
=
#
+
%
#
%
%
*
=
*
%
+
*
%
#
*
#
+
+
+
#
*
#
#
*
+
*
%
#
#
#
#
#
*
#
%
%
#
#
#
#
#
%
%
#
*
+
+
#
#
*
*
#
+
#
*
#
#
#
*
*
#
#
#
#
#
%
#
*
#
@
*
+
*
*
@
@
%
#
*
+
#
#
#
%
%
%
%
+
+
@
%
%
=
=
=
=
+
%
%
%
#
*
*
*
+
#
@
#
+
*
%
%
*
%
%
*
%
=
+
*
#
#
*
+
=
+
+
+
=
=
%
%
=
=
=
=
=
+
+
#
+
+
=
+
%
*
+
+
*
+
+
+
*
#
%
%
*
#
%
#
%
#
%
%
%
%
#
*
#
+
+
+
#
#
*
*
#
#
*
#
*
#
%
#
%
#
#
#
#
#
*
%
%
@
*
#
#
+
*
*
*
+
#
#
*
*
#
#
#
#
#
#
#
#
#
#
*
#
#
%
#
%
*
%
%
#
%
%
%
%
%
*
%
#
@
%
%
%
%
*
*
%
%
%
@
@
#
%
#
%
#
%
%
#
#
#
*
*
%
@
%
+
*
#
#
#
%
#
#
+
%
#
%
#
*
=
+
+
=
=
=
+
#
+
+
*
#
*
+
*
%
*
=
#
*
+
#
+
*
#
%
*
*
+
+
#
*
+
*
#
@
%
#
*
#
%
%
+
#
+
#
#
#
*
#
*
+
*
#
#
+
#
#
#
#
#
*
*
#
#
#
#
*
#
%
%
@
%
%
*
*
*
#
#
*
#
#
#
#
#
*
#
*
*
#
#
#
*
%
+
#
%
%
%
#
+
*
#
+
=
#
*
%
+
*
#
#
*
#
%
*
%
#
@
#
%
%
%
@
@
#
%
#
+
+
%
#
#
@
%
#
%
%
%
*
*
#
#
#
%
#
*
#
#
%
%
#
*
*
#
*
*
#
%
+
*
#
+
*
+
+
+
#
+
+
+
+
+
#
%
+
*
+
*
+
#
#
%
*
*
+
+
#
#
%
*
#
+
#
#
#
*
#
#
#
+
*
*
+
#
*
#
#
*
%
#
*
*
*
#
#
*
*
%
%
#
#
#
*
#
*
*
*
#
#
*
#
#
#
#
#
*
*
#
*
*
*
%
%
%
%
%
@
%
%
#
%
#
*
*
#
*
#
#
%
#
*
#
#
#
%
%
%
@
%
@
%
%
%
%
*
*
#
%
#
*
%
#
@
#
#
#
#
#
#
#
#
%
%
*
#
+
#
%
%
#
+
+
+
+
*
*
*
#
+
=
+
+
+
+
=
#
*
+
=
@
#
+
*
+
+
+
+
*
#
#
%
*
*
+
*
%
#
#
*
*
#
*
%
#
*
#
*
+
*
*
#
#
%
*
#
*
#
#
#
#
#
%
#
#
#
#
+
*
#
+
#
#
#
%
#
#
#
*
*
#
*
#
#
*
#
*
*
#
%
#
#
#
#
*
#
+
*
#
#
*
#
#
#
#
#
%
#
#
%
%
@
%
@
%
#
%
*
%
*
#
#
%
@
#
%
%
#
+
#
#
*
#
#
#
%
*
*
=
*
%
*
+
+
+
+
+
=
+
#
#
*
#
*
#
*
+
+
#
+
*
*
*
%
#
+
+
+
+
+
+
+
+
#
#
#
*
+
*
#
*
#
+
%
+
%
*
+
#
#
#
#
#
*
*
+
#
*
*
*
#
#
#
#
#
*
*
#
*
#
#
#
#
*
%
*
*
*
*
*
#
%
#
#
#
*
+
#
*
#
#
*
*
*
#
#
#
#
#
*
*
#
*
#
*
*
#
#
*
#
%
*
#
*
*
*
#
%
%
%
%
@
%
%
%
%
%
%
*
*
#
%
#
%
%
%
@
%
*
%
%
*
#
#
*
#
#
#
%
#
#
=
#
#
*
+
+
+
#
*
#
#
#
+
+
+
+
*
*
+
#
+
+
#
%
*
*
+
+
*
+
#
+
*
+
+
*
#
*
%
#
*
#
%
*
#
#
*
+
#
*
*
%
*
#
*
+
#
*
#
#
#
*
#
#
#
*
#
*
#
#
#
*
#
#
*
#
*
*
#
*
*
#
#
*
#
#
*
*
=
*
#
#
#
#
#
#
%
#
%
#
*
%
#
#
#
#
*
#
#
#
#
#
@
*
*
#
@
@
@
@
@
@
%
%
%
%
%
#
%
%
#
+
%
#
%
*
#
@
%
%
%
@
%
#
#
%
%
%
*
#
#
%
#
+
#
+
+
+
*
+
#
#
*
#
*
#
*
+
+
+
+
*
+
#
#
+
*
#
*
+
*
*
+
#
*
#
*
+
*
#
*
#
#
#
#
*
*
#
*
*
*
#
*
#
*
#
#
*
*
*
*
=
=
+
*
*
#
*
=
#
#
*
#
*
%
#
#
*
*
#
#
*
#
*
*
#
#
#
#
#
+
+
*
#
#
*
#
*
#
#
#
*
#
#
#
*
#
#
*
*
+
%
#
*
#
%
@
*
#
#
%
@
%
%
%
%
@
%
#
%
#
%
%
#
*
#
*
*
%
%
%
@
%
@
%
#
%
%
%
#
%
%
%
*
#
*
*
#
*
+
*
+
*
*
*
#
#
#
#
*
+
*
+
*
#
*
+
#
+
#
*
*
#
#
+
#
#
#
*
*
#
+
%
#
#
*
#
#
#
*
+
*
+
#
#
#
*
*
%
+
*
*
*
*
=
+
=
*
#
*
%
#
+
*
%
%
#
*
*
#
#
#
*
*
*
*
*
#
*
*
=
#
*
#
#
#
#
#
*
%
#
#
#
%
*
*
*
*
#
*
*
#
%
*
#
#
#
*
*
%
%
%
#
%
%
%
%
%
#
*
%
#
%
%
#
*
%
*
*
%
@
@
#
@
%
%
@
@
%
#
#
%
%
%
*
#
*
+
%
%
%
*
%
+
#
#
*
#
#
*
*
#
+
+
#
*
+
#
*
*
*
#
+
*
*
*
*
*
*
*
#
*
#
*
#
*
*
#
#
#
#
*
*
*
#
@
#
@
#
*
+
#
%
*
*
*
*
*
%
*
@
#
#
%
%
%
#
#
#
*
*
#
*
#
*
#
*
*
#
%
+
*
*
#
*
#
#
*
#
#
#
%
#
*
*
#
#
*
*
*
%
%
%
%
%
%
#
%
%
%
@
%
@
%
@
@
@
#
#
#
%
%
%
#
#
%
%
%
%
@
@
#
%
@
@
@
@
%
%
%
@
%
@
%
%
%
#
#
%
%
%
*
%
#
*
*
#
#
*
+
*
*
+
#
*
*
#
+
*
+
*
*
#
#
*
*
*
#
+
#
*
#
#
%
*
*
*
*
#
*
#
*
*
+
*
#
%
@
#
*
#
*
%
#
*
#
+
*
*
#
%
@
%
%
@
#
*
#
%
#
*
*
*
#
*
*
*
*
*
#
*
#
#
%
=
*
*
#
*
#
#
*
*
*
#
#
*
#
*
#
#
#
#
*
#
*
#
#
#
#
%
%
%
%
%
@
@
%
%
@
@
%
@
%
@
#
*
%
*
%
#
%
%
@
%
%
%
%
@
%
@
%
%
@
@
%
%
%
%
%
%
%
%
%
#
#
%
+
*
#
#
#
#
#
#
#
#
*
*
+
#
*
*
*
*
#
#
#
*
*
*
*
#
#
*
*
#
*
#
*
%
%
%
*
%
#
*
*
%
%
%
%
*
%
%
@
#
*
*
*
#
#
%
%
%
*
%
%
%
%
@
%
%
#
#
%
%
#
*
#
*
*
#
*
#
*
#
#
%
*
#
*
#
#
*
#
#
*
#
*
*
*
#
#
*
*
#
#
#
*
*
*
#
#
%
@
%
%
%
@
%
@
%
@
@
%
@
*
%
%
#
%
%
@
%
@
@
%
%
@
%
#
@
%
#
#
#
*
#
#
#
+
*
+
+
#
*
*
#
#
+
%
*
#
*
#
*
+
*
*
+
*
*
*
#
*
#
*
*
*
*
*
*
*
#
*
=
*
%
@
@
%
%
@
%
%
%
@
@
@
@
*
%
%
+
#
%
%
%
%
%
@
%
%
%
%
%
%
%
*
#
#
*
%
%
#
#
#
#
%
*
#
*
#
*
*
*
#
#
*
*
#
#
=
=
*
*
*
*
#
#
*
#
*
#
*
#
*
*
*
%
*
#
%
%
%
@
%
%
@
%
%
%
@
%
+
@
=
%
%
%
%
*
@
@
%
%
%
@
@
%
%
@
%
%
%
*
*
+
*
*
*
+
*
+
*
*
#
+
*
#
#
#
#
+
+
+
#
+
+
+
*
#
#
*
*
*
*
*
*
*
#
*
#
#
#
*
*
%
%
%
%
%
%
%
%
%
@
%
%
@
#
%
%
%
@
@
@
%
%
@
%
#
%
%
%
%
@
@
*
%
@
%
%
%
*
*
#
*
#
#
#
#
#
#
*
#
=
+
=
#
#
*
#
#
#
*
#
#
#
#
*
#
@
@
%
%
#
#
#
%
@
@
%
#
#
%
%
@
@
*
=
%
%
@
%
#
#
%
%
@
@
@
+
@
%
%
%
#
#
*
*
*
#
*
*
*
#
*
*
#
#
*
*
*
*
#
*
*
*
*
+
+
+
*
#
#
#
+
*
*
+
*
*
*
+
*
*
*
#
*
*
#
*
*
*
#
#
#
*
#
#
#
#
#
%
*
%
@
@
#
*
*
*
#
%
%
@
@
@
@
@
@
@
%
%
@
%
@
%
@
@
%
%
%
%
#
#
*
#
*
*
*
#
*
*
*
*
*
#
=
*
-
#
*
#
#
*
#
#
*
*
#
#
*
%
%
@
%
@
%
%
%
#
@
@
@
@
%
#
%
%
@
@
@
%
*
#
*
%
%
%
*
%
@
%
@
%
@
+
*
%
%
#
#
#
#
*
*
+
#
*
#
#
#
#
*
#
#
#
*
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
#
#
*
*
*
*
#
*
*
#
#
#
*
*
%
%
%
@
@
@
%
@
@
@
@
@
@
@
@
%
@
%
#
#
#
#
*
*
#
#
#
#
*
*
#
#
*
#
*
#
#
*
*
+
=
-
+
#
*
#
#
#
*
#
#
*
*
*
@
@
@
@
#
#
#
#
%
@
%
%
%
#
#
#
%
@
@
@
@
@
%
*
%
%
*
#
%
%
%
%
*
+
%
%
@
*
#
#
#
#
#
*
*
*
*
*
#
#
#
#
*
#
+
=
*
*
*
+
+
*
*
#
#
*
#
*
*
#
+
*
*
*
*
*
*
*
*
*
*
*
#
*
*
#
*
#
*
*
*
#
*
+
*
#
*
#
*
*
*
*
#
%
%
%
%
#
%
#
%
%
#
#
#
%
#
*
#
*
*
*
*
#
#
#
*
#
#
*
*
*
*
*
*
*
*
*
*
#
+
#
#
#
#
#
*
*
+
=
*
#
%
@
%
%
@
*
%
%
@
@
@
@
%
*
#
#
#
@
%
%
%
@
@
@
@
%
%
%
*
#
+
+
%
%
%
@
#
*
*
*
*
#
*
*
*
*
*
*
*
*
*
#
#
#
*
#
*
*
*
*
*
*
*
*
#
*
*
#
*
*
*
*
*
#
*
*
*
*
*
*
*
*
*
#
*
*
*
#
#
*
*
#
*
#
#
*
*
*
#
*
%
#
*
+
*
*
*
*
*
#
#
*
*
%
#
*
#
*
*
#
*
*
*
#
#
*
#
#
#
#
#
*
#
*
#
*
*
#
+
=
%
*
*
*
#
#
#
#
*
*
+
+
#
@
%
@
@
%
%
%
%
@
%
@
%
#
%
@
%
%
@
%
@
@
%
@
@
@
@
@
%
@
%
@
@
%
*
*
#
#
*
*
#
*
*
*
*
*
#
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
*
*
*
#
*
#
*
*
*
*
*
*
#
*
#
#
*
#
*
*
#
#
#
*
*
*
*
#
#
*
*
#
*
*
*
*
#
*
#
*
#
#
#
#
#
*
*
*
*
*
#
#
#
*
#
#
#
*
#
*
=
%
#
#
#
#
#
*
#
#
*
#
=
#
#
%
%
@
@
%
#
%
%
@
@
@
@
@
%
%
@
%
@
%
@
@
@
@
@
@
@
%
%
%
@
%
%
%
%
%
@
#
*
*
#
*
*
*
*
*
*
*
#
*
*
*
*
*
*
*
#
#
*
*
*
*
#
*
*
#
#
#
#
*
*
*
*
*
*
*
*
#
*
#
*
*
*
#
*
*
#
*
*
*
*
#
*
#
*
*
*
#
#
*
*
*
*
*
*
*
*
*
*
#
#
#
#
*
#
*
#
*
#
*
#
*
*
*
#
*
*
*
#
*
*
*
#
#
#
+
%
*
#
*
#
#
*
*
%
%
*
%
%
%
*
%
%
%
%
%
@
@
@
%
%
@
@
@
%
@
%
%
@
%
%
@
%
@
@
@
@
@
@
@
@
@
%
%
@
*
#
#
*
+
*
#
*
*
*
*
*
*
*
*
#
*
#
*
#
*
#
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
*
*
*
*
*
*
*
*
#
*
#
*
*
*
*
#
*
*
#
*
*
*
*
*
*
*
*
#
*
*
*
#
*
*
#
#
*
#
*
*
*
#
*
*
#
*
*
#
*
#
#
*
#
#
*
#
*
*
#
#
#
#
*
#
*
#
*
*
%
@
%
@
%
%
@
%
@
%
%
%
%
%
%
%
%
%
%
@
%
%
@
@
%
@
%
@
%
%
%
%
%
%
%
@
@
%
%
@
%
@
%
@
%
%
@
%
*
#
*
*
*
*
*
*
*
*
*
*
#
#
#
#
#
#
#
#
*
#
*
*
*
#
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
#
#
*
#
*
#
*
*
*
*
*
*
*
*
*
#
*
*
#
#
#
*
*
#
#
*
*
*
#
*
#
#
*
*
#
#
#
*
*
#
#
#
#
#
#
#
#
#
*
*
%
%
@
@
@
%
@
%
@
%
%
%
%
%
%
@
*
%
%
%
@
%
%
%
#
%
#
%
%
%
%
%
%
%
%
%
%
%
%
%
@
@
@
%
@
@
%
@
@
*
#
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#
#
#
*
*
#
*
*
#
#
*
#
*
#
#
*
#
*
#
*
*
*
*
#
#
*
*
*
*
#
#
#
#
#
*
#
*
*
*
*
*
#
#
*
#
*
#
#
*
#
#
#
#
#
#
*
*
*
*
*
*
#
#
*
*
*
#
*
#
#
*
#
#
#
#
*
*
*
*
*
*
*
#
#
*
#
*
#
#
*
#
#
%
%
%
@
%
@
%
%
#
#
#
%
%
%
%
%
#
#
*
#
#
#
#
*
*
#
#
*
*
*
#
#
#
%
@
%
@
%
%
%
@
%
@
%
%
%
%